# HG changeset patch # User Rich Burridge # Date 1456966677 28800 # Node ID bfcdc34c39a996aaa37171176697d9dd8d4b2e4e # Parent d20398d814114f498fabbd2abb26ef2edc381e58 22492633 problem in LIBRARY/PCRE diff -r d20398d81411 -r bfcdc34c39a9 components/pcre/patches/04-pcre_compile.c.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/pcre/patches/04-pcre_compile.c.patch Wed Mar 02 16:57:57 2016 -0800 @@ -0,0 +1,28 @@ +This patch fixes CVE-2016-1283, filed upstream as: + + https://bugs.exim.org/show_bug.cgi?id=1767 + +See also: + + http://www.cvedetails.com/cve-details.php?t=1&cve_id=cve-2016-1283 + +This problem has already been fixed upstream in the svn code repository at: + + svn://vcs.exim.org/pcre/code/trunk + +--- pcre-8.38/pcre_compile.c.orig 2016-03-02 10:28:48.735223798 -0800 ++++ pcre-8.38/pcre_compile.c 2016-03-02 10:30:50.856995461 -0800 +@@ -7274,7 +7274,12 @@ + so far in order to get the number. If the name is not found, leave + the value of recno as 0 for a forward reference. */ + +- else ++ /* This patch (removing "else") fixes a problem when a reference is ++ to multiple identically named nested groups from within the nest. ++ Once again, it is not the "proper" fix, and it results in an ++ over-allocation of memory. */ ++ ++ /* else */ + { + ng = cd->named_groups; + for (i = 0; i < cd->names_found; i++, ng++) diff -r d20398d81411 -r bfcdc34c39a9 components/pcre/test/results-all.master --- a/components/pcre/test/results-all.master Wed Mar 02 14:39:49 2016 -0800 +++ b/components/pcre/test/results-all.master Wed Mar 02 16:57:57 2016 -0800 @@ -1,15 +1,15 @@ -make[1]: Entering directory `$(@D)' +make[1]: Entering directory '$(@D)' /usr/gnu/bin/make check-am -make[2]: Entering directory `$(@D)' +make[2]: Entering directory '$(@D)' /usr/gnu/bin/make -make[3]: Entering directory `$(@D)' +make[3]: Entering directory '$(@D)' /usr/gnu/bin/make all-am -make[4]: Entering directory `$(@D)' -make[4]: Leaving directory `$(@D)' -make[3]: Leaving directory `$(@D)' +make[4]: Entering directory '$(@D)' +make[4]: Leaving directory '$(@D)' +make[3]: Leaving directory '$(@D)' /usr/gnu/bin/make check-TESTS -make[3]: Entering directory `$(@D)' -make[4]: Entering directory `$(@D)' +make[3]: Entering directory '$(@D)' +make[4]: Entering directory '$(@D)' PASS: pcrecpp_unittest PASS: pcre_scanner_unittest PASS: pcre_stringpiece_unittest @@ -26,7 +26,7 @@ # XPASS: 0 # ERROR: 0 ============================================================================ -make[4]: Leaving directory `$(@D)' -make[3]: Leaving directory `$(@D)' -make[2]: Leaving directory `$(@D)' -make[1]: Leaving directory `$(@D)' +make[4]: Leaving directory '$(@D)' +make[3]: Leaving directory '$(@D)' +make[2]: Leaving directory '$(@D)' +make[1]: Leaving directory '$(@D)'