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

Diff of /code/trunk/ChangeLog

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

revision 210 by ph10, Wed Aug 8 14:24:50 2007 UTC revision 219 by ph10, Thu Aug 16 11:46:40 2007 UTC
# Line 1  Line 1 
1  ChangeLog for PCRE  ChangeLog for PCRE
2  ------------------  ------------------
3    
4  Version 7.3 05-Jul-07  Version 7.3 09-Aug-07
5  ---------------------  ---------------------
6    
7   1. In the rejigging of the build system that eventually resulted in 7.1, the   1. In the rejigging of the build system that eventually resulted in 7.1, the
# Line 87  Version 7.3 05-Jul-07 Line 87  Version 7.3 05-Jul-07
87  12. A pattern like \X?\d or \P{L}?\d in non-UTF-8 mode could cause a backtrack  12. A pattern like \X?\d or \P{L}?\d in non-UTF-8 mode could cause a backtrack
88      past the start of the subject in the presence of bytes with the top bit      past the start of the subject in the presence of bytes with the top bit
89      set, for example "\x8aBCD".      set, for example "\x8aBCD".
90    
91  13. Added Perl 5.10 experimental backtracking controls (*FAIL), (*F), (*PRUNE),  13. Added Perl 5.10 experimental backtracking controls (*FAIL), (*F), (*PRUNE),
92      (*SKIP), (*THEN), (*COMMIT), and (*ACCEPT).      (*SKIP), (*THEN), (*COMMIT), and (*ACCEPT).
93    
94  14. Optimized (?!) to (*FAIL).  14. Optimized (?!) to (*FAIL).
95    
96    15. Updated the test for a valid UTF-8 string to conform to the later RFC 3629.
97        This restricts code points to be within the range 0 to 0x10FFFF, excluding
98        the "low surrogate" sequence 0xD800 to 0xDFFF. Previously, PCRE allowed the
99        full range 0 to 0x7FFFFFFF, as defined by RFC 2279. Internally, it still
100        does: it's just the validity check that is more restrictive.
101    
102    16. Inserted checks for integer overflows during escape sequence (backslash)
103        processing, and also fixed erroneous offset values for syntax errors during
104        backslash processing.
105    
106    17. Fixed another case of looking too far back in non-UTF-8 mode (cf 12 above)
107        for patterns like [\PPP\x8a]{1,}\x80 with the subject "A\x80".
108    
109    18. An unterminated class in a pattern like (?1)\c[ with a "forward reference"
110        caused an overrun.
111    
112    19. A pattern like (?:[\PPa*]*){8,} which had an "extended class" (one with
113        something other than just ASCII characters) inside a group that had an
114        unlimited repeat caused a loop at compile time (while checking to see
115        whether the group could match an empty string).
116    
117    20. Debugging a pattern containing \p or \P could cause a crash. For example,
118        [\P{Any}] did so. (Error in the code for printing property names.)
119    
120    21. An orphan \E inside a character class could cause a crash.
121    
122    22. A repeated capturing bracket such as (A)? could cause a wild memory
123        reference during compilation.
124    
125    23. There are several functions in pcre_compile() that scan along a compiled
126        expression for various reasons (e.g. to see if it's fixed length for look
127        behind). There were bugs in these functions when a repeated \p or \P was
128        present in the pattern. These operators have additional parameters compared
129        with \d, etc, and these were not being taken into account when moving along
130        the compiled data. Specifically:
131    
132        (a) A item such as \p{Yi}{3} in a lookbehind was not treated as fixed
133            length.
134    
135        (b) An item such as \pL+ within a repeated group could cause crashes or
136            loops.
137    
138        (c) A pattern such as \p{Yi}+(\P{Yi}+)(?1) could give an incorrect
139            "reference to non-existent subpattern" error.
140    
141    24. A repeated \S or \W in UTF-8 mode could give wrong answers when multibyte
142        characters were involved (for example /\S{2}/8g with "A\x{a3}BC").
143    
144    
145  Version 7.2 19-Jun-07  Version 7.2 19-Jun-07

Legend:
Removed from v.210  
changed lines
  Added in v.219

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12