severity 700604 important
thanks

Jonny dixit:

>mksh crashes when evaluating the expression "++()":
>$ strace mksh -c 'echo $((++(VAR)))'

Thanks!

The expression is not really invalid, it just isn’t an lvalue,
and crashing is not acceptable.

On amd64, I reliably get:

1|tg@zigo:~ $ mksh -c 'echo $((++(VAR)))'
mksh: ++(VAR): ++ requires lvalue

On m68k, I reliably get a crash:

139|root@ara2:~ # mksh -c 'echo $((++(VAR)))'
Segmentation fault

On MirBSD/i386, I get random values:

tg@blau:~ $ mksh -c 'echo $((++(VAR)))'
mksh: ++(VAR): expression recurses on parameter '���DISPLAY=:0.0'
1|tg@blau:~ $ mksh -c 'echo $((++(VAR)))'
mksh: ++(VAR): ++ requires lvalue
1|tg@blau:~ $ mksh -c 'echo $((++(VAR)))'
mksh: ++(VAR): ++ requires lvalue
1|tg@blau:~ $ mksh -c 'echo $((++(VAR)))'
mksh: ++(VAR): expression recurses on parameter 
'��������������������������������'
1|tg@blau:~ $ mksh -c 'echo $((++(VAR)))'
mksh: ++(VAR): expression recurses on parameter 
'��������������������������������'

This is not acceptable, it means that there is use of
uninitialised memory somewhere. Unfortunately I think
valgrind, which is the tool of choice for this, isn’t
ported to m68k yet… I’ll try to find it nevertheless.

An strace is not useful for segfaults in user space
applications, by the way – it only displays syscalls.

bye,
//mirabilos
-- 
Support mksh as /bin/sh and RoQA dash NOW!
‣ src:bash (257 (276) bugs: 0 RC, 178 (192) I&N, 79 (84) M&W, 0 (0) F&P)
‣ src:dash (84 (98) bugs: 3 RC, 39 (43) I&N, 42 (52) M&W, 0 F&P)
‣ src:mksh (3 bug: 0 RC, 2 I&N, 1 M&W, 0 F&P)
http://qa.debian.org/data/bts/graphs/d/dash.png is pretty red, innit?


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

Reply via email to