Commit Graph

113 Commits

Author SHA1 Message Date
Philip.Hazel a710d3b37b Cap minimum length at 65535 and check for integer overflow. 2015-11-09 18:45:15 +00:00
Philip.Hazel 89b1ae1c98 Use caching to improve could_be_empty() and find_fixed_length() compile times,
especially when recursion/subroutine calls are present.
2015-11-08 14:20:09 +00:00
Philip.Hazel 2909e2411c Fix (*NO_AUTO_POSSESS) 2015-11-05 18:03:16 +00:00
Philip.Hazel b7ee0684e3 Implement pcre2_set_max_pattern_length() 2015-11-05 17:33:39 +00:00
Philip.Hazel b02bb996af Check subpattern name lengths dynamically. 2015-11-03 20:04:23 +00:00
Philip.Hazel 2caf22dc61 Forbid \K patterns that end before they start in pcre2_substitute(). 2015-11-03 17:38:00 +00:00
Philip.Hazel 75181cca2e Give error for overlong lookbehind assertion. 2015-11-03 10:39:27 +00:00
Philip.Hazel f72b753f73 Fix VERSION condition bug. 2015-11-01 16:28:13 +00:00
Philip.Hazel 284d42fa7e Avoid the need for an integer overflow check in pcre2_substitute() by adding a
check for a number greater than the largest capturing group.
2015-10-30 18:25:19 +00:00
Philip.Hazel 766fbc81d0 Fix PCRE2_NO_AUTO_CAPTURE bug. 2015-10-25 17:35:34 +00:00
Philip.Hazel 3263d44b97 Implement --never-backslash-C 2015-10-17 13:50:56 +00:00
Philip.Hazel 5923caf05e Fix integer overflow for patterns whose minimum matching length is very, very
large.
2015-10-09 16:54:29 +00:00
Philip.Hazel 6ae5c36e83 Implement PCRE2_SUBSTITUTE_EXTENDED. 2015-10-07 17:32:48 +00:00
Philip.Hazel 0c70fb3013 Add null_context to pcre2test for testing NULL contexts. 2015-09-23 11:49:03 +00:00
Philip.Hazel 69d61e2fdb Implement PCRE2_USE_OFFSET_LIMIT and pcre2_set_offset_limit(). No documentation
yet.
2015-09-22 11:24:28 +00:00
Philip.Hazel be7366f6f0 Tidied up a lot of comments in the test files. 2015-09-16 16:49:48 +00:00
Philip.Hazel bb68c64c40 Implement #newline_default and adjust testdata and scripts to use it. 2015-09-08 17:01:17 +00:00
Philip.Hazel cdf07ab585 Complete escape processing for PCRE2_ALT_VERBNAMES 2015-09-01 17:32:42 +00:00
Philip.Hazel d2e87a75af Implemented PCRE2_ALT_VERBNAMES 2015-08-30 17:47:36 +00:00
Philip.Hazel fd08e11c1e Fix pcre2test splitting modifier lists at white space. 2015-08-30 14:11:15 +00:00
Philip.Hazel 170644eca3 Add ${*MARK} feature to pcre2_substitute(). 2015-08-29 17:13:09 +00:00
Zoltán Herczeg d210396121 The JIT compiler should restore the control chain for empty possessive repeats. 2015-08-11 13:20:37 +00:00
Zoltán Herczeg 3ec328fe1b The JIT compiler should not check repeats after a {0,1} repeat byte code. 2015-08-11 05:30:10 +00:00
Philip.Hazel f86d8d35fa Make (*LIMIT_MATCH=) give an error and correct offsets for limit syntax errors. 2015-08-10 16:34:17 +00:00
Philip.Hazel 8e37b0b3c6 Fix missing non-existent reference test and bad error offsets for bad \g and \k
items.
2015-08-09 17:46:35 +00:00
Philip.Hazel e3d62b0ff8 Re-write recursion handling to fix another compiler bug and make it all less
error-prone.
2015-08-09 16:29:35 +00:00
Zoltán Herczeg c214c54ca0 The JIT compiler did not restore the control verb head in case of *THEN control verbs. 2015-08-08 05:45:17 +00:00
Philip.Hazel b89a448d8d Add missing integer overflow checks. 2015-08-04 09:13:11 +00:00
Philip.Hazel 76a2e62669 Maintenance on tests for Perl compatibility 2015-08-03 17:25:55 +00:00
Philip.Hazel 3e12e15fe1 Fix incorrect minimum matching length when pattern contains (?| groups. 2015-08-03 13:18:49 +00:00
Philip.Hazel 8269696f57 Fix issues with minimum length finding. 2015-08-01 09:11:28 +00:00
Philip.Hazel 83c7c24b92 Fix bugs for patterns with conditional groups starting with assertions. 2015-07-22 14:34:31 +00:00
Philip.Hazel e4d630c4af Fix (?R- not being correctly diagnosed. 2015-07-22 09:29:09 +00:00
Philip.Hazel 0046526d0e Fix incorrect compilation for repeated conditionals with only one branch. 2015-07-22 09:01:50 +00:00
Philip.Hazel 01c4647b02 Fix "running for ever" bug for deeply nested [: sequences. 2015-07-21 13:42:14 +00:00
Philip.Hazel 31241914a5 Fix another fuzzer bug. 2015-07-20 10:17:23 +00:00
Philip.Hazel 21b15d96f2 Fix empty comment (?#) bug 2015-07-17 16:25:21 +00:00
Philip.Hazel 7b4b853b81 Correct test for previous bugfix. 2015-07-17 15:18:17 +00:00
Philip.Hazel c1f8a7dfb3 Fix bad compilation of a possessively repeated conditional that could match an
empty string.
2015-07-17 15:11:45 +00:00
Philip.Hazel 54f59d3c05 Ignore {1} quantifiers. 2015-07-17 13:41:09 +00:00
Philip.Hazel 5cd731f314 Fix crash due to incorrect pre-pass handling of callouts with string arguments,
and tighten up the callout handling.
2015-07-16 17:47:20 +00:00
Philip.Hazel 328c7920cc Fix bad processing of (?x)(*MARK) within another group. 2015-07-15 09:34:04 +00:00
Philip.Hazel 098562db96 Fix [[:>:]] when followed by parenthesis buffer overflow. 2015-07-15 09:08:12 +00:00
Philip.Hazel 1d44822484 Fix empty string matching bug. 2015-06-09 17:41:45 +00:00
Philip.Hazel ff4553df08 Check for integer overflow in subroutine calls. 2015-06-08 17:51:54 +00:00
Philip.Hazel c9ac9e23ec Refactor named group handling by adding a pre-pass that generates a list of
named groups with their numbers before the rest of the compiling code is run. 
This has simplified the main compiling code and removed some sources of error.
2015-06-03 16:27:47 +00:00
Philip.Hazel 666b3c88cf Give error for empty subpattern name such as (?''). 2015-05-19 16:48:57 +00:00
Philip.Hazel 78735a5336 Fix buffer overflow for lookbehind with mutually recursive groups. 2015-05-18 17:31:29 +00:00
Philip.Hazel ba8f1d8002 Maintenance on test after running ManyConfigTests. 2015-05-17 17:44:21 +00:00
Philip.Hazel 56444e9978 Fix buffer overflow for recursive byname back reference when duplicate names
exist.
2015-05-15 17:09:01 +00:00