summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2015-02-03 14:34:44 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2015-02-03 14:34:44 +0000
commit68282df90da8c8eb011f27cb2d6cd74b1058e9bf (patch)
treec1ae1acfbf95f96170cf1602ad8e3e4c2998a06b
parent48d2472840efc4dc54dfc698d64aa086332a9033 (diff)
downloadpcre-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--ChangeLog3
-rw-r--r--configure.ac6
-rw-r--r--pcretest.c3
3 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index dc0a359..72bb80a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/pcretest.c b/pcretest.c
index b8dc3c6..2dc2061 100644
--- a/pcretest.c
+++ b/pcretest.c
@@ -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