components/pcre/patches/04-pcre_compile.c.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Wed, 30 Mar 2016 10:07:29 -0700
changeset 5679 d91b8121bb2a
parent 5540 bfcdc34c39a9
permissions -rw-r--r--
Sync with build 96.1.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5540
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
This patch fixes CVE-2016-1283, filed upstream as:
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
  https://bugs.exim.org/show_bug.cgi?id=1767
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
See also:
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     7
  http://www.cvedetails.com/cve-details.php?t=1&cve_id=cve-2016-1283
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     9
This problem has already been fixed upstream in the svn code repository at:
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
  svn://vcs.exim.org/pcre/code/trunk
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    13
--- pcre-8.38/pcre_compile.c.orig	2016-03-02 10:28:48.735223798 -0800
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    14
+++ pcre-8.38/pcre_compile.c	2016-03-02 10:30:50.856995461 -0800
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
@@ -7274,7 +7274,12 @@
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    16
           so far in order to get the number. If the name is not found, leave
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    17
           the value of recno as 0 for a forward reference. */
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
 
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
-          else
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    20
+          /* This patch (removing "else") fixes a problem when a reference is
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    21
+          to multiple identically named nested groups from within the nest.
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    22
+          Once again, it is not the "proper" fix, and it results in an
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    23
+          over-allocation of memory. */
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    24
+
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    25
+          /* else */
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    26
             {
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    27
             ng = cd->named_groups;
bfcdc34c39a9 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    28
             for (i = 0; i < cd->names_found; i++, ng++)