/[pcre]/code/trunk/ChangeLog
ViewVC logotype

Diff of /code/trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1630 by ph10, Tue Feb 9 09:46:52 2016 UTC revision 1631 by ph10, Wed Feb 10 19:13:17 2016 UTC
# Line 7  development is happening in the PCRE2 10 Line 7  development is happening in the PCRE2 10
7  Version 8.39 xx-xxxxxx-201x  Version 8.39 xx-xxxxxx-201x
8  ---------------------------  ---------------------------
9    
10  1.  If PCRE_AUTO_CALLOUT was set on a pattern that had a (?# comment between  1.  If PCRE_AUTO_CALLOUT was set on a pattern that had a (?# comment between
11      an item and its qualifier (for example, A(?#comment)?B) pcre_compile()      an item and its qualifier (for example, A(?#comment)?B) pcre_compile()
12      misbehaved. This bug was found by the LLVM fuzzer.      misbehaved. This bug was found by the LLVM fuzzer.
13    
14  2.  Similar to the above, if an isolated \E was present between an item and its  2.  Similar to the above, if an isolated \E was present between an item and its
15      qualifier when PCRE_AUTO_CALLOUT was set, pcre_compile() misbehaved. This      qualifier when PCRE_AUTO_CALLOUT was set, pcre_compile() misbehaved. This
16      bug was found by the LLVM fuzzer.      bug was found by the LLVM fuzzer.
17    
18  3.  Further to 8.38/46, negated classes such as [^[:^ascii:]\d] were also not  3.  Further to 8.38/46, negated classes such as [^[:^ascii:]\d] were also not
19      working correctly in UCP mode.      working correctly in UCP mode.
20    
21  4.  The POSIX wrapper function regexec() crashed if the option REG_STARTEND  4.  The POSIX wrapper function regexec() crashed if the option REG_STARTEND
22      was set when the pmatch argument was NULL. It now returns REG_INVARG.      was set when the pmatch argument was NULL. It now returns REG_INVARG.
23    
# Line 26  Version 8.39 xx-xxxxxx-201x Line 26  Version 8.39 xx-xxxxxx-201x
26  6.  An empty \Q\E sequence between an item and its qualifier caused  6.  An empty \Q\E sequence between an item and its qualifier caused
27      pcre_compile() to misbehave when auto callouts were enabled. This bug was      pcre_compile() to misbehave when auto callouts were enabled. This bug was
28      found by the LLVM fuzzer.      found by the LLVM fuzzer.
29    
30  7.  If a pattern that was compiled with PCRE_EXTENDED started with white  7.  If a pattern that was compiled with PCRE_EXTENDED started with white
31      space or a #-type comment that was followed by (?-x), which turns off      space or a #-type comment that was followed by (?-x), which turns off
32      PCRE_EXTENDED, and there was no subsequent (?x) to turn it on again,      PCRE_EXTENDED, and there was no subsequent (?x) to turn it on again,
33      pcre_compile() assumed that (?-x) applied to the whole pattern and      pcre_compile() assumed that (?-x) applied to the whole pattern and
34      consequently mis-compiled it. This bug was found by the LLVM fuzzer.      consequently mis-compiled it. This bug was found by the LLVM fuzzer.
35    
36  8.  An call of pcre_copy_named_substring() for a named substring whose number  8.  An call of pcre_copy_named_substring() for a named substring whose number
37      was greater than the space in the ovector could cause a crash.      was greater than the space in the ovector could cause a crash.
38    
39  9.  Yet another buffer overflow bug involved duplicate named groups with a  9.  Yet another buffer overflow bug involved duplicate named groups with a
40      group that reset capture numbers (compare 8.38/7 below). Once again, I have      group that reset capture numbers (compare 8.38/7 below). Once again, I have
41      just allowed for more memory, even if not needed. (A proper fix is      just allowed for more memory, even if not needed. (A proper fix is
42      implemented in PCRE2, but it involves a lot of refactoring.)      implemented in PCRE2, but it involves a lot of refactoring.)
43    
44  10. pcre_get_substring_list() crashed if the use of \K in a match caused the  10. pcre_get_substring_list() crashed if the use of \K in a match caused the
45      start of the match to be earlier than the end.      start of the match to be earlier than the end.
46    
47  11. Migrating appropriate PCRE2 JIT improvements to PCRE.  11. Migrating appropriate PCRE2 JIT improvements to PCRE.
48    
49  12. A pattern such as /(?<=((?C)0))/, which has a callout inside a lookbehind  12. A pattern such as /(?<=((?C)0))/, which has a callout inside a lookbehind
50      assertion, caused pcretest to generate incorrect output, and also to read      assertion, caused pcretest to generate incorrect output, and also to read
51      uninitialized memory (detected by ASAN or valgrind).      uninitialized memory (detected by ASAN or valgrind).
52    
53    13. A pattern that included (*ACCEPT) in the middle of a sufficiently deeply
54        nested set of parentheses of sufficient size caused an overflow of the
55        compiling workspace (which was diagnosed, but of course is not desirable).
56    
57    
58  Version 8.38 23-November-2015  Version 8.38 23-November-2015
59  -----------------------------  -----------------------------

Legend:
Removed from v.1630  
changed lines
  Added in v.1631

  ViewVC Help
Powered by ViewVC 1.1.5