This should fix the following bugs: http://bugs.gnu.org/21513 assertion error in pop_fail_stack http://bugs.gnu.org/19775 Test failing after the CVE fix https://sourceware.org/bugzilla/show_bug.cgi?id=11053 Wrong results with backreferences https://sourceware.org/bugzilla/show_bug.cgi?id=17356 regex assertion violation with triple backreferences * lib/regexec.c (set_regs): Don't pop an empty failure stack. --- ChangeLog | 10 ++++++++++ lib/regexec.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog index f846aac..1daec1d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2015-09-19 Paul Eggert <egg...@cs.ucla.edu> + regex: fix dangling-backreference bug + This should fix the following bugs: + http://bugs.gnu.org/21513 assertion error in pop_fail_stack + http://bugs.gnu.org/19775 Test failing after the CVE fix + https://sourceware.org/bugzilla/show_bug.cgi?id=11053 + Wrong results with backreferences + https://sourceware.org/bugzilla/show_bug.cgi?id=17356 + regex assertion violation with triple backreferences + * lib/regexec.c (set_regs): Don't pop an empty failure stack. + regex: merge patches from libc 2015-09-08 Joseph Myers <jos...@codesourcery.com> diff --git a/lib/regexec.c b/lib/regexec.c index db50a56..a0b9d39 100644 --- a/lib/regexec.c +++ b/lib/regexec.c @@ -1513,7 +1513,7 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, free_fail_stack_return (fs); return REG_ESPACE; } - if (fs) + if (fs && fs->num) cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); else -- 2.1.0