From: Paul Eggert Date: Mon, 18 Jan 2016 18:32:26 +0000 (-0800) Subject: regex: fix [ diagnostic X-Git-Tag: v1.0~6840 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=7c6e85cf4eccbd51291ae41daec57d1967050b44;p=gnulib.git regex: fix [ diagnostic Problem and fix reported by Aharon Robbins in: http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [. * lib/regcomp.c (build_range_exp, build_charclass_op) --- diff --git a/ChangeLog b/ChangeLog index ecb07463b1..d4779a12a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,14 @@ 2016-01-18 Paul Eggert + regex: fix [ diagnostic + Problem and fix reported by Aharon Robbins in: + http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html + * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [. + regex: fix memory leaks Problem and draft fix reported by Aharon Robbins in: http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html - * lib/regcomp.c (build_range_exp, build_charclass_op): + * lib/regcomp.c (build_range_exp, build_charclass_op) * lib/regex_internal.c (re_dfa_add_node): Fix memory leak on failure. diff --git a/lib/regcomp.c b/lib/regcomp.c index 0369f26f81..1eda11009d 100644 --- a/lib/regcomp.c +++ b/lib/regcomp.c @@ -153,9 +153,9 @@ static const char __re_error_msgid[] = gettext_noop ("Invalid back reference") /* REG_ESUBREG */ "\0" #define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference") - gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ + gettext_noop ("Unmatched [, [^, [:, [., or [=") /* REG_EBRACK */ "\0" -#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") +#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [, [^, [:, [., or [=") gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ "\0" #define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(")