diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-02-03 14:34:44 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-02-03 14:34:44 +0000 |
commit | 68282df90da8c8eb011f27cb2d6cd74b1058e9bf (patch) | |
tree | c1ae1acfbf95f96170cf1602ad8e3e4c2998a06b | |
parent | 48d2472840efc4dc54dfc698d64aa086332a9033 (diff) | |
download | pcre-68282df90da8c8eb011f27cb2d6cd74b1058e9bf.tar.gz |
Crash in pcretest after bad input.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1514 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | pcretest.c | 3 |
3 files changed, 8 insertions, 4 deletions
@@ -13,6 +13,9 @@ Version 8.37 xx-xxx-201x 2. If an assertion condition was quantified with a minimum of zero (an odd thing to do, but it happened), SIGSEGV or other misbehaviour could occur. + +3. If a pattern in pcretest input had the P (POSIX) modifier followed by an + unrecognized modifier, a crash could occur. diff --git a/configure.ac b/configure.ac index e7dffbe..ec8496e 100644 --- a/configure.ac +++ b/configure.ac @@ -9,9 +9,9 @@ dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might dnl be defined as -RC2, for example. For real releases, it should be empty. m4_define(pcre_major, [8]) -m4_define(pcre_minor, [36]) -m4_define(pcre_prerelease, []) -m4_define(pcre_date, [2014-09-26]) +m4_define(pcre_minor, [37]) +m4_define(pcre_prerelease, [-RC1]) +m4_define(pcre_date, [2015-02-03]) # NOTE: The CMakeLists.txt file searches for the above variables in the first # 50 lines of this file. Please update that if the variables above are moved. @@ -3906,6 +3906,7 @@ while (!done) default: fprintf(outfile, "** Unknown modifier '%c'\n", pp[-1]); + do_posix = 0; goto SKIP_DATA; } } @@ -5635,7 +5636,7 @@ while (!done) } /* End of loop for data lines */ CONTINUE: - + #if !defined NOPOSIX if (posix || do_posix) regfree(&preg); #endif |