From f53205fcfa3664184b4a8f18b12f4911f2a948d3 Mon Sep 17 00:00:00 2001 From: jilles Date: Sat, 24 Aug 2013 20:06:00 +0000 Subject: sh: Reject ++ and -- in arithmetic. POSIX does not require ++ and -- in arithmetic. It is probably more useful to reject them than to treat ++x and --x as x silently. Note that the behaviour of increment and decrement can be obtained via (x+=1), ((x+=1)-1), (x-=1) and ((x-=1)+1). PR: bin/176444 --- bin/sh/arith_yylex.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin/sh/arith_yylex.c') diff --git a/bin/sh/arith_yylex.c b/bin/sh/arith_yylex.c index f6eebdb..ad08184 100644 --- a/bin/sh/arith_yylex.c +++ b/bin/sh/arith_yylex.c @@ -218,9 +218,13 @@ checkeqcur: value += ARITH_REM - '%'; goto checkeq; case '+': + if (buf[1] == '+') + return ARITH_BAD; value += ARITH_ADD - '+'; goto checkeq; case '-': + if (buf[1] == '-') + return ARITH_BAD; value += ARITH_SUB - '-'; goto checkeq; case '~': -- cgit v1.1