[BZ 697]
authorUlrich Drepper <drepper@redhat.com>
Thu, 8 Jan 2009 00:47:30 +0000 (00:47 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 8 Jan 2009 00:47:30 +0000 (00:47 +0000)
* posix/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
being NULL also if there are no backreferences.
* posix/rxspencer/tests: Add testcases.

ChangeLog
posix/regexec.c
posix/rxspencer/tests

index 8829b44..17e987b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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]
index 135efe7..7bf0c08 100644 (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;
index b84a270..3ad46e2 100644 (file)
@@ -536,3 +536,7 @@ a.*\b       &       abT     ab
 \B     &       aSbTc
 \B     &       SaT     @SaT
 \B     &       aSTSb   @TSb
+
+o$($|.)        -       oN
+o$($|.)        -       op
+o$($|.)        -       o       o