On Fri, Feb 22, 2008 at 02:34:09PM -0800, Larry Doolittle wrote:
> The bug does not reproduce on i386/gcc-4.1 (Gutsy).

The second example does.  I have simplified the example some more.
No setup required.  To an interactive dash, cut-and-paste:

if true; then for x in foo; do echo bar; done; fi | cat

Reproduces with all of
 upstream dash-0.5.4 on i386/gcc-4.1 (Gutsy)
 upstream dash-0.5.4 on amd64/gcc-4.2 (Sid)
 binary 0.5.4-1ubuntu3 on i386/gcc-4.1 (Gutsy)
 binary dash-0.5.4-7 on amd64/gcc-4.2 (Sid)

> Something corrupts the variable n in jobs.c:commandtext(),
> in between getting passed in and being used as the parameter
> to cmdtxt().

Scratch that.  There are a bunch of calls to cmdtxt(), one per
node as it traverses the parsed command structure.  When it finishes
the if statement and everything inside, it gets to a corrupted node
(or maybe corrupted node pointer).

   - Larry



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to