diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | posix/Makefile | 1 | ||||
-rw-r--r-- | posix/bug-regex29.c | 15 |
3 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 37cd868c19..9f63c4db05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * posix/regcomp.c (parse_dup_op): Verify the expression is correctly terminated. + * posix/Makefile (tests): Add bug-regex29. + * posix/bug-regex29.c: New file. * posix/unistd.h: Define _POSIX_VERSION and _POSIX2_* correctly if older POSIX versions are selected. diff --git a/posix/Makefile b/posix/Makefile index 8d8fbe5234..c9ce18b94e 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -82,6 +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 \ tst-nice tst-nanosleep tst-regex2 \ transbug tst-rxspencer tst-pcre tst-boost \ bug-ga1 tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \ diff --git a/posix/bug-regex29.c b/posix/bug-regex29.c new file mode 100644 index 0000000000..70a6c94cc6 --- /dev/null +++ b/posix/bug-regex29.c @@ -0,0 +1,15 @@ +#include <regex.h> + +static int +do_test (void) +{ + regex_t r; + int e = regcomp(&r, "xy\\{4,5,7\\}zabc", 0); + char buf[100]; + regerror(e, &r, buf, sizeof (buf)); + printf ("e = %d (%s)\n", e, buf); + return e != REG_BADBR; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" |