NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/52348: sh (alias.c:271) invokes undefined behaviour
The following reply was made to PR bin/52348; it has been noted by GNATS.
From: Robert Elz <kre%munnari.OZ.AU@localhost>
To: coypu%sdf.org@localhost
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: bin/52348: sh (alias.c:271) invokes undefined behaviour
Date: Thu, 29 Jun 2017 13:12:11 +0700
Date: Thu, 29 Jun 2017 05:33:05 +0000
From: coypu%sdf.org@localhost
Message-ID: <20170629053305.GA22727%SDF.ORG@localhost>
| Found something else by writing down an example.
I will see what I can work out about that one (aside from why the tools awk
does not exist in your system, and yet it is being used - or wants to
be, same for nbmktemp - those I can't help with....)
However, debugging sh memory management is hit and miss at the best of
times, it will be pure fluke if I can find anything from that asan output.
I would need you to be running a DEBUG shell with every possible debug
flag turned on when it happened (and possibly gdb as well) to have any
real expectation of finding that one. At least I know the situation in
which it was observed, which helps a little.
| It shows the original, too.
Not really. It shows the error message. But it tells me where you
should look, as there are precisely zero uses of anything related to
aliases while building sh (except compiling the code to process them.)
To be in the alias code, something must be making it happen, and the
only candidate (I can see) is the file which is your $ENV
That it happened twice. later running a different script, reinforces that.
So, please send me any lines from $ENV that have anything to do with aliases
(or just the whole thing) - send via private e-mail, it does not need to
go into the PR!
| I think it doesn't like the negative index use
There is no negative index. I understand what asan is saying, it
is being over petty in this particular case, though it is correct, the
code in alias.c is wrong, and I will fix it (it isn't even a very good
hash function, not that it needs to be for aliases, most people don't
have very many.)
What I want to do is find out how the situation which allowed the bug
to be discovered arose - if it is just "unusual" input, then I just fix
(or perhaps change is a better word) the code in alias.c and all will
be fine. On the other hand, there might be some other bug. Only seeing
the actual line that the sh is executing when the error is produced
will tell me that -- I don't need to be running asan I don't even really,
I hope, need to run a sh to process your $ENV (or lines from it), all I
should need is to see it.
kre
Home |
Main Index |
Thread Index |
Old Index