Mercurial > hg > octave-shane > gnulib-hg
changeset 10999:7e353646d8a6
regex: fix glibc bug 697
2009-01-09 Paolo Bonzini <bonzini@gnu.org>
* lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
being NULL also if there are no backreferences.
author | Paolo Bonzini <bonzini@gnu.org> |
---|---|
date | Fri, 09 Jan 2009 09:04:55 +0100 |
parents | cc7a1af3872f |
children | 683b379e6760 |
files | ChangeLog lib/regexec.c |
diffstat | 2 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-01-09 Paolo Bonzini <bonzini@gnu.org> + + regex: fix glibc bug 697 + * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0] + being NULL also if there are no backreferences. + 2009-01-09 Paolo Bonzini <bonzini@gnu.org> regex: merge glibc changes
--- a/lib/regexec.c +++ b/lib/regexec.c @@ -1,6 +1,6 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, - Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. @@ -1045,6 +1045,11 @@ re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; + if (sifted_states[0] == NULL) + { + ret = REG_NOMATCH; + goto free_return; + } } re_free (mctx->state_log); mctx->state_log = sifted_states;