From: Ulrich Drepper Date: Sun, 23 Aug 2009 22:22:00 +0000 (-0700) Subject: Recognize ill-formed { } expressions in regcomp. X-Git-Tag: glibc-2.10.2~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03cb6a1e3939a039bcd53bf862fa93f487e35488;p=thirdparty%2Fglibc.git Recognize ill-formed { } expressions in regcomp. (cherry picked from commit 52db8039f54672abe6a6da5fb107fa52aca42547) --- diff --git a/ChangeLog b/ChangeLog index e7c80bea119..876e0e8c393 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2009-08-23 Ulrich Drepper + * posix/regcomp.c (parse_dup_op): Verify the expression is correctly + terminated. + * posix/unistd.h: Define _POSIX_VERSION and _POSIX2_* correctly if older POSIX versions are selected. diff --git a/posix/regcomp.c b/posix/regcomp.c index 4843cfea339..446fed54458 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -2481,7 +2481,7 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, return elem; } - if (BE (end != -1 && start > end, 0)) + if (BE ((end != -1 && start > end) || token->type != OP_CLOSE_DUP_NUM, 0)) { /* First number greater than second. */ *err = REG_BADBR;