chiark / gitweb /
Import debian/ directory from 2:8.38-3.1
[pcre3.git] / debian / patches / CVE-2016-1283.patch
1 From b7537308b7c758f33c347cb0bec62754c43c271f Mon Sep 17 00:00:00 2001
2 From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
3 Date: Sat, 27 Feb 2016 17:38:11 +0000
4 Subject: [PATCH] Yet another duplicate name bugfix by overestimating the
5  memory needed (i.e. another hack - PCRE2 has this "properly" fixed).
6
7 git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1636 2f5784b3-3f2a-0410-8824-cb99058d5e15
8 ---
9  pcre_compile.c       | 7 ++++++-
10  testdata/testinput2  | 2 ++
11  testdata/testoutput2 | 2 ++
12  4 files changed, 17 insertions(+), 1 deletion(-)
13
14 --- a/pcre_compile.c
15 +++ b/pcre_compile.c
16 @@ -7289,7 +7289,12 @@ for (;; ptr++)
17            so far in order to get the number. If the name is not found, leave
18            the value of recno as 0 for a forward reference. */
19  
20 -          else
21 +          /* This patch (removing "else") fixes a problem when a reference is
22 +          to multiple identically named nested groups from within the nest.
23 +          Once again, it is not the "proper" fix, and it results in an
24 +          over-allocation of memory. */
25 +
26 +          /* else */
27              {
28              ng = cd->named_groups;
29              for (i = 0; i < cd->names_found; i++, ng++)
30 --- a/testdata/testinput2
31 +++ b/testdata/testinput2
32 @@ -4217,4 +4217,6 @@ backtracking verbs. --/
33  
34  /a[[:punct:]b]/BZ
35  
36 +/((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
37 +
38  /-- End of testinput2 --/
39 --- a/testdata/testoutput2
40 +++ b/testdata/testoutput2
41 @@ -14574,4 +14574,6 @@ No match
42          End
43  ------------------------------------------------------------------
44  
45 +/((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
46 +
47  /-- End of testinput2 --/