aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2010-10-11 12:34:53 -0400
committerUlrich Drepper <drepper@gmail.com>2010-10-11 12:34:53 -0400
commitef06edbee6463061a7f3dcbd2f56a625b41a4810 (patch)
tree88f21fb5581bef4906d31c491add0f05861a579c
parenta129c80d54ec951567caa8c1b042275422d5f367 (diff)
downloadglibc-ef06edbee6463061a7f3dcbd2f56a625b41a4810.zip
glibc-ef06edbee6463061a7f3dcbd2f56a625b41a4810.tar.gz
glibc-ef06edbee6463061a7f3dcbd2f56a625b41a4810.tar.bz2
Test case for last regex problem.
-rw-r--r--ChangeLog3
-rw-r--r--posix/Makefile10
-rw-r--r--posix/bug-regex31.c16
3 files changed, 27 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 15b47f9..ee11d29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2010-10-11 Ulrich Drepper <drepper@gmail.com>
+ * posix/bug-regex31.c: New file.
+ * posix/Makefile: Add rules to build and run bug-regex31.
+
* posix/regcomp.c (parse_bracket_exp): Add missing re_free calls.
[BZ #12078]
diff --git a/posix/Makefile b/posix/Makefile
index 4f29963..356896f 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -82,7 +82,7 @@ tests := tstgetopt testfnm runtests runptests \
bug-regex17 bug-regex18 bug-regex19 bug-regex20 \
bug-regex21 bug-regex22 bug-regex23 bug-regex24 \
bug-regex25 bug-regex26 bug-regex27 bug-regex28 \
- bug-regex29 bug-regex30 \
+ bug-regex29 bug-regex30 bug-regex31 \
tst-nice tst-nanosleep tst-regex2 \
transbug tst-rxspencer tst-pcre tst-boost \
bug-ga1 tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \
@@ -111,6 +111,7 @@ generated := $(addprefix wordexp-test-result, 1 2 3 4 5 6 7 8 9 10) \
annexc annexc.out wordexp-tst.out bug-regex2-mem \
bug-regex2.mtrace bug-regex14-mem bug-regex14.mtrace \
bug-regex21-mem bug-regex21.mtrace \
+ bug-regex31-mem bug-regex31.mtrace \
tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
@@ -232,7 +233,7 @@ endif
tests: $(objpfx)annexc.out
ifeq (no,$(cross-compiling))
tests: $(objpfx)bug-regex2-mem $(objpfx)bug-regex14-mem \
- $(objpfx)bug-regex21-mem $(objpfx)tst-rxspencer-mem \
+ $(objpfx)bug-regex21-mem $(objpfx)bug-regex31-mem $(objpfx)tst-rxspencer-mem\
$(objpfx)tst-pcre-mem $(objpfx)tst-boost-mem $(objpfx)tst-getconf.out \
$(objpfx)bug-glob2-mem $(objpfx)tst-vfork3-mem
xtests: $(objpfx)bug-ga2-mem
@@ -261,6 +262,11 @@ bug-regex21-ENV = MALLOC_TRACE=$(objpfx)bug-regex21.mtrace
$(objpfx)bug-regex21-mem: $(objpfx)bug-regex21.out
$(common-objpfx)malloc/mtrace $(objpfx)bug-regex21.mtrace > $@
+bug-regex31-ENV = MALLOC_TRACE=$(objpfx)bug-regex31.mtrace
+
+$(objpfx)bug-regex31-mem: $(objpfx)bug-regex31.out
+ $(common-objpfx)malloc/mtrace $(objpfx)bug-regex31.mtrace > $@
+
tst-vfork3-ENV = MALLOC_TRACE=$(objpfx)tst-vfork3.mtrace
$(objpfx)tst-vfork3-mem: $(objpfx)tst-vfork3.out
diff --git a/posix/bug-regex31.c b/posix/bug-regex31.c
new file mode 100644
index 0000000..2d5d669
--- /dev/null
+++ b/posix/bug-regex31.c
@@ -0,0 +1,16 @@
+#include <mcheck.h>
+#include <regex.h>
+#include <stdio.h>
+#include <sys/types.h>
+
+int main()
+{
+ regex_t regex;
+ int rc;
+
+ mtrace ();
+
+ if ((rc = regcomp (&regex, "([0]", REG_EXTENDED)))
+ printf ("Error %d (expected)\n", rc);
+ return 0;
+}