components/pcre/patches/04-pcre_compile.c.patch
author Rich Burridge <rich.burridge@oracle.com>
Fri, 04 Mar 2016 13:32:34 -0800
branchs11u3-sru
changeset 5552 4e17dd2a1b16
permissions -rw-r--r--
22492633 problem in LIBRARY/PCRE
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5552
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
This patch fixes CVE-2016-1283, filed upstream as:
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
  https://bugs.exim.org/show_bug.cgi?id=1767
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
See also:
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
4e17dd2a1b16 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
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
4e17dd2a1b16 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:
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
  svn://vcs.exim.org/pcre/code/trunk
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
4e17dd2a1b16 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
4e17dd2a1b16 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
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
@@ -7274,7 +7274,12 @@
4e17dd2a1b16 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
4e17dd2a1b16 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. */
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
 
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
-          else
4e17dd2a1b16 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
4e17dd2a1b16 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.
4e17dd2a1b16 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
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    23
+          over-allocation of memory. */
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    24
+
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    25
+          /* else */
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    26
             {
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    27
             ng = cd->named_groups;
4e17dd2a1b16 22492633 problem in LIBRARY/PCRE
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    28
             for (i = 0; i < cd->names_found; i++, ng++)