* posix/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
	being NULL also if there are no backreferences.
	* posix/rxspencer/tests: Add testcases.
This commit is contained in:
Ulrich Drepper 2009-01-08 00:47:30 +00:00
parent bdb56bacd5
commit 76c7f2cd8a
3 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2009-01-05 Paolo Bonzini <bonzini@gnu.org>
[BZ 697]
* posix/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
being NULL also if there are no backreferences.
* posix/rxspencer/tests: Add testcases.
2009-01-04 Paolo Bonzini <bonzini@gnu.org>
[BZ 9697]

View File

@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@ -1004,6 +1004,11 @@ prune_impossible_nodes (mctx)
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;

View File

@ -536,3 +536,7 @@ a.*\b & abT ab
\B & aSbTc
\B & SaT @SaT
\B & aSTSb @TSb
o$($|.) - oN
o$($|.) - op
o$($|.) - o o