Commit Graph

409 Commits

Author SHA1 Message Date
ph10
24de8f52da Add support for invalid UTF-8 matching to pcre2grep. 2019-05-28 14:14:22 +00:00
ph10
df13a172d5 Implement support for invalid UTF in the pcre2_match() interpreter. 2019-05-24 17:15:48 +00:00
ph10
a5fd29b912 Fix crash when \X is used without UTF in JIT. 2019-05-13 16:26:17 +00:00
ph10
ac5f127ddb Implement a check on the number of capturing parentheses, which for some reason
has never existed. This fixes ClusterFuzz issue 14376.
2019-04-22 12:39:38 +00:00
ph10
673daf6692 Fix crash in pcre2_substitute() with NULL match context. 2019-03-11 17:29:08 +00:00
ph10
b3438faeaf Compile \p{Any} the same as . in DOTALL mode, to benefit from auto-anchoring. 2019-02-13 17:30:24 +00:00
ph10
f9d98633e9 Fix overflow bug in new /u code. Fixes ClusterFuzz 13073. 2019-02-13 16:48:30 +00:00
ph10
04b65d864e Implement PCRE2_EXTRA_ALT_BSUX to support ECMAscript 6's \u{hhh..} syntax. 2019-02-12 17:50:19 +00:00
ph10
528c8c2363 Previout bug-fix was bad. This properly fixes an overrun while reading a
Unicode group name.
2019-02-07 17:59:37 +00:00
ph10
e5959e493e Allow non-ASCII in group names when UTF is set; revise group naming terminology
in documentation to use "capture group", as Perl does.
2019-02-06 18:11:36 +00:00
ph10
be7d18b10d Fix bug in VERSION conditional test in DFA matching. 2019-01-29 14:34:59 +00:00
ph10
0f27a7553f Fix issues with BAD_ESCAPE_IS_LITERAL in character classes. 2019-01-04 16:41:32 +00:00
ph10
72542e3c19 Fix non-recognition of anchoring when preceded by (*MARK) etc. 2018-11-27 16:00:58 +00:00
ph10
b3f69214be Add --disable-pcre2grep-callout-fork configuration setting. 2018-11-17 16:45:57 +00:00
ph10
064a85f5de Upgrade the as yet unreleased substitute callout facility. 2018-11-12 16:02:01 +00:00
ph10
894a82db17 Fix zero-repeated subroutine call at start of pattern bug, which recorded an
incorrect first code unit.
2018-10-20 09:28:02 +00:00
ph10
5e94fcc35a Implement PCRE2_COPY_MATCHED_SUBJECT. 2018-10-17 08:33:38 +00:00
ph10
44306c4fe9 Update Makefile.am for compiling with gcov. Add Script Run tests to improve
coverage.
2018-10-14 15:56:36 +00:00
ph10
baf6848e3e Upgrade the ucptest program (used only by maintainer) and script run tests. 2018-10-14 14:27:16 +00:00
ph10
385a905e3f Documentation and tests update for script runs. 2018-10-12 17:02:34 +00:00
ph10
08469ee67b Update Script Run code to use the Script Extension property instead of the
Script property.
2018-10-09 16:42:21 +00:00
ph10
7f72517d38 Fix bugs of omission in new script run code. 2018-10-03 15:41:47 +00:00
ph10
c6c2308c01 Basic "script run" implementation. Not yet complete, and not yet documented. 2018-10-02 15:25:58 +00:00
ph10
202311b568 Implement Perl 5.28's alphabetic lookaround syntax, e.g. (*pla:...) and also
(*atomic:...).
2018-09-24 16:23:53 +00:00
ph10
3f42c5f14d Implement PCRE2_EXTRA_ESCAPED_CR_IS_LF 2018-09-21 16:59:48 +00:00
ph10
1a030c42df Implement callouts from pcre2_substitute(). 2018-09-18 16:31:30 +00:00
ph10
6fea58392e Add "allvector" to pcre2test. 2018-09-15 17:10:39 +00:00
ph10
2f383e6e0f Treat empty-string-matching repeated conditionals the same as ordinary ones
when checking for an anchored pattern.
2018-09-03 15:20:40 +00:00
ph10
a4498fca10 Fix anchoring bug in conditionals with only one branch. 2018-09-02 16:53:29 +00:00
ph10
8b9f137eb1 Lock out \N{U+hhhh} in non-UTF (non-Unicode) modes. 2018-09-02 16:03:27 +00:00
ph10
337992276e Fix bad auto-possessification of certain types of class. 2018-08-17 14:45:35 +00:00
ph10
b679caf2b7 Fix dynamic options changing bug. 2018-08-04 08:20:18 +00:00
ph10
f37554f550 Make /x more Perl-compatible by recognizing all of Unicode's "Pattern White
Space" characters, not just the ASCII ones.
2018-08-03 09:38:36 +00:00
ph10
f1908320bc Add support for (?^) as now supported by Perl. 2018-07-28 16:23:24 +00:00
ph10
b5cd347dab Give specific error for \F as for \L, \U etc. 2018-07-27 16:55:52 +00:00
ph10
ec3fdbf935 Add support for \N{U+dd...}, for ASCII and Unicode modes only. 2018-07-27 16:30:40 +00:00
ph10
d130e25af4 Add more tests for further ClusterFuzz issues, all were fixed by the previous
patch; they just crashed in different ways. The fixed issues are ClusterFuzz 
numbers 9522, 9534, 9535, 9541, 9542. The bug was a new one, introduced by a 
recent code update (never in a release).
2018-07-22 15:43:00 +00:00
ph10
7105d449f9 Fix oversight in recent OP_COMMIT_ARG update. 2018-07-22 15:19:43 +00:00
ph10
4da5fab956 Some places where the new opcode OP_COMMIT_ARG needs to be handled and which I
forgot.
2018-07-21 14:52:26 +00:00
ph10
3cb83842ad Allow :NAME on (*ACCEPT), (*FAIL), and (*COMMIT) and fix bug with (*MARK)
followed by (*ACCEPT) in an assertion. More small updates to perltest.sh.
2018-07-21 14:34:51 +00:00
ph10
59c5ff95d4 Fixed atomic group backtracking bug. 2018-07-16 15:24:32 +00:00
ph10
13bd69102a Update Perl tester to allow for optimization to be turned off. Required moving
some tests out of the Perl-compatible files.
2018-07-14 16:16:51 +00:00
ph10
8bc4dee087 Documentation and tests update and minor tweak to perltest.sh. 2018-07-12 17:04:43 +00:00
ph10
49e737075f Update to Unicode 11.0.0 2018-07-07 16:10:29 +00:00
ph10
f391b600bb Fix bug in VERSION number reading. 2018-07-02 12:26:04 +00:00
ph10
0221374b9a Ignore qualifiers on lookaheads within lookbehinds when checking for a fixed
length.
2018-07-02 11:23:45 +00:00
ph10
85f60e18f4 Fix global search/replace in pcre2test and pcre2_substitute() when the pattern
matches an empty string, but never at the starting offset.
2018-07-02 10:54:03 +00:00
ph10
67804a9d8a Fix bug when \K is used in a lookbehind in a substitute pattern. 2018-06-22 16:29:56 +00:00
ph10
8c2c547183 More typos and changes to "Kibibytes" for "Kilobytes". 2018-06-18 14:03:33 +00:00
ph10
2bf7dbba82 Ensure all match limit tests set a limit, don't rely on the default. 2018-04-29 15:07:44 +00:00