diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-01-08 00:47:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-01-08 00:47:30 +0000 |
commit | 76c7f2cd8a68653b4fd60c1f12bf0b8b824209f1 (patch) | |
tree | 7b00d01fa07a21540e5572aec060ce484be4f665 /posix | |
parent | bdb56bacd57070eced9998569ffe3f3c37ef5964 (diff) | |
download | glibc-76c7f2cd8a68653b4fd60c1f12bf0b8b824209f1.zip glibc-76c7f2cd8a68653b4fd60c1f12bf0b8b824209f1.tar.gz glibc-76c7f2cd8a68653b4fd60c1f12bf0b8b824209f1.tar.bz2 |
[BZ 697]cvs/fedora-glibc-20090108T0952
* posix/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
being NULL also if there are no backreferences.
* posix/rxspencer/tests: Add testcases.
Diffstat (limited to 'posix')
-rw-r--r-- | posix/regexec.c | 7 | ||||
-rw-r--r-- | posix/rxspencer/tests | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/posix/regexec.c b/posix/regexec.c index 135efe7..7bf0c08 100644 --- a/posix/regexec.c +++ b/posix/regexec.c @@ -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; diff --git a/posix/rxspencer/tests b/posix/rxspencer/tests index b84a270..3ad46e2 100644 --- a/posix/rxspencer/tests +++ b/posix/rxspencer/tests @@ -536,3 +536,7 @@ a.*\b & abT ab \B & aSbTc \B & SaT @SaT \B & aSTSb @TSb + +o$($|.) - oN +o$($|.) - op +o$($|.) - o o |