Commit Graph

1227 Commits

Author SHA1 Message Date
Philip.Hazel c30815f5a1 Fix bug in recent patch for lookbehinds within lookaheads. Fixes ClusterFuzz
15933.
2019-07-18 17:20:29 +00:00
Zoltán Herczeg f5b35e7943 Rework alternative matching in JIT. 2019-07-18 06:11:04 +00:00
Zoltán Herczeg c11b23e8cc JIT compiler update. 2019-07-17 07:05:48 +00:00
Philip.Hazel 0d0ee67eb0 Check start code unit bit map for setting minimum length. 2019-07-16 16:16:45 +00:00
Philip.Hazel bca9888a2c Implemented pcre2_get_match_data_size(). 2019-07-16 15:50:09 +00:00
Philip.Hazel 046c5cd21c Fix lookbehind within lookahead within lookbehind misbehaviour bug. 2019-07-16 15:06:21 +00:00
Philip.Hazel 66811c6c73 Fix oversights in recent non-atomic assertions patch. Fixes ClusterFuzz 15837. 2019-07-15 16:04:13 +00:00
Philip.Hazel 4677b1b0bb Tidy partial matching code; prepare for possible future change. 2019-07-14 16:44:46 +00:00
Philip.Hazel 620f3a1307 Implement non-atomic positive assertions. 2019-07-13 11:12:03 +00:00
Zoltán Herczeg 691aca7a86 Improve non-virtual register usage in JIT. 2019-07-10 14:57:43 +00:00
Philip.Hazel 4543001e85 In perltest.sh, show Perl version in current conventional format. 2019-07-09 14:20:45 +00:00
Philip.Hazel f985a68ea5 Additional overflow test. 2019-07-05 15:49:37 +00:00
Philip.Hazel 2e06fdcdc1 Check for integer overflow when computing lookbehind lengths. Fixes Clusterfuzz
issue 13656.
2019-07-04 17:01:53 +00:00
Philip.Hazel a5c601091e Give error for zero timing argument to pcre2test. 2019-07-03 17:15:37 +00:00
Philip.Hazel 4866bd3652 Fix bugs in recent patch for setting the maximum lookbehind. 2019-06-28 16:58:08 +00:00
Philip.Hazel c0d0ee5365 Fix partial matching bug in pcre2_dfa_match(). 2019-06-26 16:13:28 +00:00
Philip.Hazel 434e3f7468 Make pcre2test show actual pre-match consulted characters for a partial match,
not the length of the longest lookbehind. Control this by "allusedtext".
2019-06-26 08:23:47 +00:00
Philip.Hazel d21f7daf9b Improve maximum lookbehind calculation for nested lookbehinds. 2019-06-25 15:40:42 +00:00
Zoltán Herczeg 7f24a98cfb Mixing SSE2 instructions in JIT. 2019-06-25 09:29:37 +00:00
Zoltán Herczeg 7768756737 Improve SSE2 optimiztions in JIT. 2019-06-25 06:11:14 +00:00
Philip.Hazel c6ee84317d Documentation update. 2019-06-22 16:36:15 +00:00
Philip.Hazel a89423624d Documentation update. 2019-06-21 16:10:17 +00:00
Philip.Hazel 175b4919f7 Update tests. 2019-06-20 17:19:13 +00:00
Philip.Hazel 8eb01ad8a9 Typo in doc and update tests 2019-06-20 16:37:30 +00:00
Philip.Hazel e92f1d3b72 Documentation update. 2019-06-20 16:28:57 +00:00
Philip.Hazel 9d00c46ff1 Documentation update. 2019-06-20 15:50:21 +00:00
Philip.Hazel 9c53b6b11a Minor code and comment tidies. 2019-06-19 16:39:18 +00:00
Philip.Hazel da5155fed3 Don't ignore {1}+ when it is applied to a parenthesized item. 2019-06-19 16:27:50 +00:00
Philip.Hazel ef79b978a6 Fix minimum length bug for patterns containing (*ACCEPT). 2019-06-18 16:07:43 +00:00
Zoltán Herczeg 3b2fa4dff2 Improve first character search in JIT (BSF instruction is slow). 2019-06-18 08:29:43 +00:00
Philip.Hazel 1ebc2c50cc Another extension to minimum length calculation. 2019-06-17 16:26:44 +00:00
Philip.Hazel ead78198d1 Improve minimum length finder in the presence of back references when there are
multiple groups with the same number.
2019-06-16 15:37:45 +00:00
Philip.Hazel 0d1ab8515f Fix pcre2grep -o bug when ovector overflows; add option to adjust the limit;
raise the default limit; give error if -o requests an uncaptured parens.
2019-06-15 15:51:07 +00:00
Philip.Hazel 300bf6e2d6 Another fix to the recent (*ACCEPT) patch. Fixes clusterfuzz 15242. 2019-06-14 15:44:57 +00:00
Philip.Hazel 49f174ef78 Make pcre2_match() return (*MARK) names from successful conditional assertions,
as Perl and the JIT do.
2019-06-13 16:49:40 +00:00
Philip.Hazel 1f6b9097f4 Minor improvement to minimum length calculation. 2019-06-13 16:00:11 +00:00
Philip.Hazel f0c06ee212 Fix minor oversight in previous patch. Fixes clusterfuzz 15199. 2019-06-11 07:37:29 +00:00
Philip.Hazel 306f2b9c57 Allow (*ACCEPT) to be quantified. 2019-06-10 16:41:22 +00:00
Zoltán Herczeg cc51779d88 Improve single character iterators, add special path to dotall. 2019-06-07 13:48:59 +00:00
Philip.Hazel dea540877b Documentation update. 2019-06-03 16:39:20 +00:00
Philip.Hazel 16d47a9cb1 Documentation update. 2019-05-30 15:43:05 +00:00
Philip.Hazel d5dc4e0c33 Tweak limits on "must have" code unit searches (improves some performance). 2019-05-28 16:34:28 +00:00
Philip.Hazel 4f31de2866 Add support for invalid UTF-8 matching to pcre2grep. 2019-05-28 14:14:22 +00:00
Philip.Hazel 5850cc5928 Fix previous patch for non-JIT compilation. 2019-05-25 16:31:38 +00:00
Philip.Hazel 16c046ce50 Implement support for invalid UTF in the pcre2_match() interpreter. 2019-05-24 17:15:48 +00:00
Zoltán Herczeg 2ad4329f83 Rework word boundary in JIT. 2019-05-23 07:46:10 +00:00
Philip.Hazel 342c16ecd3 Forgot this file in previous commit. Fixes JIT non-UTF bug. 2019-05-13 16:38:18 +00:00
Philip.Hazel e118e60a68 Fix crash when \X is used without UTF in JIT. 2019-05-13 16:26:17 +00:00
Philip.Hazel a31c548210 Fix typo. 2019-05-11 11:43:39 +00:00
Zoltán Herczeg 274efb8ded Improved the invalid utf32 support of the JIT compiler. 2019-05-10 13:15:20 +00:00