From: Rich Felker Date: Wed, 11 Feb 2015 06:37:01 +0000 (-0500) Subject: fix bad character checking in wordexp X-Git-Tag: v1.1.7~50 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=594ffed82f4e6ee7da85e9c5da35e32946ae32c9;p=oweals%2Fmusl.git fix bad character checking in wordexp the character sequence '$((' was incorrectly interpreted as the opening of arithmetic even within single-quoted contexts, thereby suppressing the checks for bad characters after the closing quote. presently bad character checking is only performed when the WRDE_NOCMD is used; this patch only corrects checking in that case. --- diff --git a/src/misc/wordexp.c b/src/misc/wordexp.c index a5f1b658..db39b5b8 100644 --- a/src/misc/wordexp.c +++ b/src/misc/wordexp.c @@ -77,6 +77,7 @@ static int do_wordexp(const char *s, wordexp_t *we, int flags) if (!(sq|dq|np)) return WRDE_BADCHAR; break; case '$': + if (sq) break; if (s[i+1]=='(' && s[i+2]=='(') { i += 2; np += 2;