>From d69ce088e92fb25c56e2600d816d16235eaba96b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 18 Jan 2016 10:32:26 -0800 Subject: [PATCH 2/3] 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) --- ChangeLog | 7 ++++++- lib/regcomp.c | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ecb0746..d4779a1 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 0369f26..1eda110 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 \\(") -- 2.5.0