diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2008-01-21 15:22:09 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2008-01-21 15:22:09 +0000 |
commit | 9e0ca092ec1b8bf89370db008865fac757a046e9 (patch) | |
tree | d81937d6d890443ca1edbc60427193e9057f15f4 | |
parent | 4ff532b445e64eb6453bccb24a8e23a6831488ea (diff) | |
download | pcre-9e0ca092ec1b8bf89370db008865fac757a046e9.tar.gz |
Tidies for 7.6-RC1 test release.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@309 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | ChangeLog | 26 | ||||
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | NON-UNIX-USE | 6 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | pcre_compile.c | 16 |
5 files changed, 33 insertions, 25 deletions
@@ -1,19 +1,19 @@ ChangeLog for PCRE ------------------ -Version 7.6 19-Jan-08 +Version 7.6 21-Jan-08 --------------------- 1. A character class containing a very large number of characters with codepoints greater than 255 (in UTF-8 mode, of course) caused a buffer overflow. - -2. Patch to cut out the "long long" test in pcrecpp_unittest when - HAVE_LONG_LONG is not defined. - + +2. Patch to cut out the "long long" test in pcrecpp_unittest when + HAVE_LONG_LONG is not defined. + 3. Applied Christian Ehrlicher's patch to update the CMake build files to bring them up to date and include new features. This patch includes: - + - Fixed PH's badly added libz and libbz2 support. - Fixed a problem with static linking. - Added pcredemo. @@ -21,16 +21,16 @@ Version 7.6 19-Jan-08 - Added a number of HAVE_XXX tests, including HAVE_WINDOWS_H and HAVE_LONG_LONG. - Added readline support for pcretest. - - Added an listing of the option settings after cmake has run. - + - Added an listing of the option settings after cmake has run. + 4. A user submitted a patch to Makefile that makes it easy to created a dll - under mingw. I added stuff to Makefile.am that cause it to include this - special target, without affecting anything else. - + under mingw. I added stuff to Makefile.am that cause it to include this + special target, without affecting anything else. + 5. Applied Craig's patch that moves no_arg into the RE class in the C++ code. This is an attempt to solve the reported problem "pcrecpp::no_arg is not - exported in the Windows port". It has not yet been confirmed that the patch - solves the problem, but it does no harm. + exported in the Windows port". It has not yet been confirmed that the patch + solves the problem, but it does no harm. Version 7.5 10-Jan-08 @@ -1,6 +1,14 @@ News about PCRE releases ------------------------ +Release 7.6 21-Jan-08 +--------------------- + +The main reason for having this release so soon after 7.5 is because it fixes a +potential buffer overflow problem in pcre_compile() when run in UTF-8 mode. In +addition, the CMake configuration files have been brought up to date. + + Release 7.5 10-Jan-08 --------------------- diff --git a/NON-UNIX-USE b/NON-UNIX-USE index e566e23..ff5b88e 100644 --- a/NON-UNIX-USE +++ b/NON-UNIX-USE @@ -295,7 +295,7 @@ were contributed by a PCRE user. USE OF RELATIVE PATHS WITH CMAKE ON WINDOWS A PCRE user comments as follows: - + I thought that others may want to know the current state of CMAKE_USE_RELATIVE_PATHS support on Windows. @@ -310,7 +310,7 @@ I am sure CMake people can fix that if they want to. Until then one will need to replace existing absolute paths in project files with relative paths manually (e.g. from VS) - relative to project file location. I did just that before being told to try CMAKE_USE_RELATIVE_PATHS. Not a big -deal. +deal. AdditionalIncludeDirectories="E:\builds\pcre\build;E:\builds\pcre\pcre-7.5;" AdditionalIncludeDirectories=".;E:\builds\pcre\pcre-7.5;" @@ -335,7 +335,7 @@ TESTING WITH RUNTEST.BAT 4. To test pcrecpp, run pcrecpp_unittest.exe, pcre_stringpiece_unittest.exe and pcre_scanner_unittest.exe. - + BUILDING UNDER WINDOWS WITH BCC5.5 diff --git a/configure.ac b/configure.ac index cfe7397..17ed241 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl empty. m4_define(pcre_major, [7]) m4_define(pcre_minor, [6]) m4_define(pcre_prerelease, [-RC1]) -m4_define(pcre_date, [2008-01-19]) +m4_define(pcre_date, [2008-01-21]) # Libtool shared library interface versions (current:revision:age) m4_define(libpcre_version, [0:1:0]) diff --git a/pcre_compile.c b/pcre_compile.c index f634dcc..799f47c 100644 --- a/pcre_compile.c +++ b/pcre_compile.c @@ -2688,7 +2688,7 @@ for (;; ptr++) #ifdef SUPPORT_UTF8 class_utf8 = FALSE; /* No chars >= 256 */ class_utf8data = code + LINK_SIZE + 2; /* For UTF-8 items */ - class_utf8data_base = class_utf8data; /* For resetting in pass 1 */ + class_utf8data_base = class_utf8data; /* For resetting in pass 1 */ #endif /* Process characters until ] is reached. By writing this as a "do" it @@ -2704,18 +2704,18 @@ for (;; ptr++) { /* Braces are required because the */ GETCHARLEN(c, ptr, ptr); /* macro generates multiple statements */ } - + /* In the pre-compile phase, accumulate the length of any UTF-8 extra - data and reset the pointer. This is so that very large classes that + data and reset the pointer. This is so that very large classes that contain a zillion UTF-8 characters no longer overwrite the work space - (which is on the stack). */ - + (which is on the stack). */ + if (lengthptr != NULL) { *lengthptr += class_utf8data - class_utf8data_base; - class_utf8data = class_utf8data_base; - } - + class_utf8data = class_utf8data_base; + } + #endif /* Inside \Q...\E everything is literal except \E */ |