Commit Graph

622 Commits

Author SHA1 Message Date
Philip.Hazel b3a6fd38b8 Tidy comments about UTF case-independence. 2017-04-20 16:51:36 +00:00
Philip.Hazel 369d82e03a Implement Perl's /n option, which is the same as PCRE2_NO_AUTO_CAPTURE. 2017-04-18 16:21:50 +00:00
Zoltán Herczeg 584f35c059 Improve prefix character scanning in JIT. 2017-04-18 14:37:01 +00:00
Philip.Hazel 3dca43fdff Implement PCRE2_EXTENDED_MORE and friends. 2017-04-18 12:32:52 +00:00
Zoltán Herczeg b9f95b5f63 Refactor SSE2 accelerated first character search in JIT. 2017-04-18 05:49:39 +00:00
Zoltán Herczeg 486a66681f SSE2 accelerated first character pair search in JIT. 2017-04-17 14:54:04 +00:00
Philip.Hazel 41d1c6d6ce Tidies and minor bug fix resulting from Coverity Scan issues. 2017-04-16 16:49:11 +00:00
Philip.Hazel 202cb2cf41 Improve testing coverage with updates to pcre2test and test files; also get rid
of redundant code in pcre2_match().
2017-04-16 13:03:30 +00:00
Philip.Hazel 106028089e Ensure ovector[0,1] are both PCRE2_UNSET during callouts. 2017-04-14 12:39:41 +00:00
Philip.Hazel e8cdae3c5b Correct an incorrect cast. 2017-04-14 12:14:41 +00:00
Philip.Hazel b35a98c403 Remove duplication typo. 2017-04-14 12:08:54 +00:00
Philip.Hazel b38c2aaebd Adjust two match frame variables to save space in 8-bit mode. 2017-04-14 12:02:40 +00:00
Philip.Hazel 346447005a Remove redundant line of code (a typo really). 2017-04-14 11:42:02 +00:00
Zoltán Herczeg 1379a48d94 Support end anchored in JIT. 2017-04-13 11:52:36 +00:00
Philip.Hazel bd511d381f Fix valgrind warnings for unset padding at the end of the pcre2_real_code
structure.
2017-04-12 13:48:11 +00:00
Philip.Hazel b3154eb907 Tidy some confusing code. 2017-04-12 13:26:11 +00:00
Philip.Hazel 3b8672bf49 Fix ACCEPT issue with ENDANCHORED. 2017-04-11 14:53:26 +00:00
Philip.Hazel 14989bd454 Add explicit heap limiting options to pcre2_match(), with associated features
for listing, configuring, etc.
2017-04-11 11:47:25 +00:00
Philip.Hazel f0126dc7ae Add -jitverify to pcre2test. 2017-04-08 15:35:27 +00:00
Philip.Hazel 7afe4e4110 Documentation tidies and code tidies for Windows. 2017-04-08 15:21:39 +00:00
Zoltán Herczeg 13c0ea59b2 Enabling valgrind disables SSE2 in JIT. 2017-04-07 11:06:56 +00:00
Philip.Hazel 09f87cbfce Extend auto-anchoring to ignore "never-obeyed" groups at the start. 2017-04-07 08:46:29 +00:00
Philip.Hazel 88abc14e42 Jason Hood's pcre2grep patches (modified a bit) to add --output to pcre2grep,
and also an inbuilt callout echo.
2017-04-06 18:02:40 +00:00
Philip.Hazel 2b36600b2b Fix typo and remove extraneous blank lines. 2017-04-05 15:40:06 +00:00
Philip.Hazel a3275d1e0f Implement PCRE2_ENDANCHORED. 2017-04-04 17:09:33 +00:00
Philip.Hazel 0757041114 Fix non-passing of mark values out of recursions. 2017-04-04 11:37:21 +00:00
Philip.Hazel fcd0c39b26 Fix capturing in conditional negative assertions ended with (*ACCEPT). 2017-04-03 18:02:07 +00:00
Zoltán Herczeg c37995d2bd JIT compiler update. 2017-04-03 13:30:17 +00:00
Philip.Hazel a073581116 Fix buglet in recent update for showing malloc/free at match time. 2017-03-31 15:51:41 +00:00
Zoltán Herczeg bdac9df4cf Fix character type detection when 32-bit and UCP are enabled but UTF is not in JIT. 2017-03-31 05:40:37 +00:00
Zoltán Herczeg a5da70b28c Support (*ACCEPT) inside recurse in JIT. 2017-03-30 13:25:20 +00:00
Zoltán Herczeg 380738d981 Improve callouts and revertframes in JIT. 2017-03-29 08:12:32 +00:00
Zoltán Herczeg 447d1b3083 Minor JIT compiler update. 2017-03-28 09:56:52 +00:00
Zoltán Herczeg a31b57c9da Reverse the jit-stack to top-down. 2017-03-27 13:35:08 +00:00
Philip.Hazel a695d6425d Better error handling in pcre2test. 2017-03-26 17:51:31 +00:00
Philip.Hazel 08543d4a74 Improvements to the \=memory modifier in pcre2test. 2017-03-25 17:08:20 +00:00
Philip.Hazel 649ae8f6d5 Fix bug introduced at 10.21: use memory allocator from the pattern if no
context is supplied to pcre2_match().
2017-03-25 15:19:49 +00:00
Zoltán Herczeg 25cec7a966 Support full ovector data for JIT callouts. 2017-03-25 06:33:41 +00:00
Philip.Hazel 5c1984d94a Make \=find_limits apply to DFA matching, to find the minimum depth limit. 2017-03-24 18:20:34 +00:00
Philip.Hazel 45ddeb70cf Fix issues with (*VERB)s inside recursive subroutine calls. 2017-03-23 17:54:58 +00:00
Philip.Hazel d5ca2dee9d Fix misbehaving DFA match for possessively repeated character class (Bugzilla
2086).
2017-03-22 15:12:06 +00:00
Philip.Hazel de307ea031 Previous patch was not quite complete. 2017-03-21 18:36:13 +00:00
Philip.Hazel cde5f12cee Fix 32-bit error buffer size bug in pcre2test (Bugzilla 2079). 2017-03-21 17:46:21 +00:00
Philip.Hazel a122f42abf Fix NULL deference if pcre2_callout_enumerate() is called with a NULL pattern
when Unicode support is available (Bugzilla 2076).
2017-03-21 16:31:54 +00:00
Philip.Hazel e105a0f83f Fix memory leak when deserializing invalid data (Bugzilla 2075). 2017-03-21 16:25:01 +00:00
Philip.Hazel 8e4eb8dbc8 Close serialization file in pcre2test after any error. 2017-03-21 16:18:54 +00:00
Philip.Hazel ca75518017 Fix pcre2grep Windows problem for new output-colouring code when not under
mingw (Bugzilla 2067).
2017-03-21 16:09:57 +00:00
Philip.Hazel 31455a7665 Minor pcre2test code fix for framesize modifier and documentation update. 2017-03-21 12:22:58 +00:00
Zoltán Herczeg 131209e22d Capture control verbs inside the conditional assertion of a conditional block. 2017-03-20 10:41:13 +00:00
Philip.Hazel d6faa55b91 Fix pcre2test bug for global match with zero terminated subject. 2017-03-19 18:34:27 +00:00
Zoltán Herczeg b55ef12cc1 Reworked the recursive pattern matching in the JIT compiler to follow the interpreter changes. 2017-03-19 03:35:27 +00:00
Philip.Hazel b6b716b540 Update generic files. 2017-03-17 16:55:47 +00:00
Philip.Hazel ae37c6e886 Add "framesize" to pcre2test to display pcre2_match() frame size, using the new
PCRE2_INFO_FRAMESIZE option for pcre2_pattern_info().
2017-03-16 17:55:55 +00:00
Philip.Hazel d7da2dcb37 Fix crash for forward reference in lookbehind with PCRE2_ANCHORED. Fixes
oss-fuzz issue 865.
2017-03-16 17:17:47 +00:00
Philip.Hazel be5dd257d2 Add cast to avoid compiler warning. 2017-03-14 16:46:08 +00:00
Philip.Hazel 88db1be123 Change "limit recursion" to "limit depth" in code and build systems because the
old name, which is retained as a synonym for the moment, is no longer 
appropriate.
2017-03-12 13:47:01 +00:00
Philip.Hazel 04da0725f3 Remove obsolete OP_ONCE_NC internal opcode. 2017-03-11 17:59:23 +00:00
Philip.Hazel 02779c9a67 Remove remaining (now unused) code under HEAP_MATCH_RECURSE, and make the build
systems give a warning of the obsolescence of --disable-stack-for-recursion and 
the equivalent CMake setting.
2017-03-11 17:39:02 +00:00
Philip.Hazel 26e92bc554 Fix crash for pattern with very many captures. Fixes oss-fuzz issue 783. 2017-03-10 16:34:54 +00:00
Philip.Hazel 143c136ac6 Fix oss-fuzz issue 781: read from bad memory when fewer capturing parens than
space in the external ovector.
2017-03-10 15:53:49 +00:00
Philip.Hazel 20804215a8 Code for new interpreter (build system and documentation still to be done). 2017-03-09 16:23:28 +00:00
Philip.Hazel 53bf29d689 Fix 32-bit non-UTF property test crash. 2017-02-24 18:25:32 +00:00
Philip.Hazel f6f7c9148f Check malloc returns in pcre2test. 2017-02-23 17:05:43 +00:00
Zoltán Herczeg 9669cd1218 Major JIT compiler update. 2017-02-15 07:27:08 +00:00
Philip.Hazel bea3a10a93 Final file updates for 10.23. 2017-02-14 10:40:33 +00:00
Philip.Hazel 388ffac596 Fix bug in most recent fix for pcre2grep. 2017-02-12 13:30:38 +00:00
Philip.Hazel 0299bba9d9 Fix previously broken fix for pcre2grep with -Mo matching strings that cross
line boundaries.
2017-02-10 17:39:29 +00:00
Philip.Hazel 8a3a452ea9 Small code tidy to make it more understandable. 2017-02-10 16:42:14 +00:00
Philip.Hazel 3fb194afa4 Cache group minima to speed up studying of pathological patterns. Fixes
oss-fuzz #557.
2017-02-10 16:33:15 +00:00
Philip.Hazel 7ab91fdfb2 Reduce recursion limit for auto-possessify to reduce stack usage at compile
time. Fixes oss-fuzz issue 553.
2017-02-08 17:03:30 +00:00
Philip.Hazel 2f1e99e04f Don't use %td (use %lu instead) in pcre2test under MSVC. 2017-02-04 16:27:20 +00:00
Philip.Hazel 4311f49d0e Fix \g+ bug when the number that follows is too big. 2017-01-31 17:15:30 +00:00
Philip.Hazel 56a8ada12d Fix warnings in 32-bit environments. 2017-01-17 15:21:11 +00:00
Philip.Hazel ca1ecd41a1 File tidies for 10.23-RC1 2017-01-16 17:40:47 +00:00
Philip.Hazel 31c62034fe Minor tidies to pcre2grep. 2017-01-16 15:06:57 +00:00
Philip.Hazel 662a765bdf Update build system for changes in the JIT modules. 2017-01-12 16:35:43 +00:00
Zoltán Herczeg 88c0f14825 JIT compiler update. Patch insipred by Christian Persch. 2017-01-12 09:32:15 +00:00
Philip.Hazel 224e707ab0 Ignore all JIT compile errors in pcre2grep. 2017-01-11 17:10:28 +00:00
Philip.Hazel 6332aa1101 Fix pcre2test mishandling "end before start" return with POSIX interface. 2017-01-11 17:02:27 +00:00
Philip.Hazel 1226e2e0d0 Fix hyphen after \E after POSIX class causing an error. 2017-01-11 16:40:35 +00:00
Zoltán Herczeg 27eab0b836 JIT compiler update. 2017-01-05 10:01:29 +00:00
Philip.Hazel 255bc030d9 Improve class handling for \H and \V by ignoring caseless. 2017-01-03 18:17:31 +00:00
Philip.Hazel 15c30bf55a Detect overlong patterns earlier. 2017-01-03 11:35:26 +00:00
Zoltán Herczeg e22fadd1e4 JIT compiler update. 2017-01-02 13:01:42 +00:00
Philip.Hazel 5a15ad5c36 Fix very minor typo. 2017-01-01 12:13:17 +00:00
Philip.Hazel 396a7c7d29 Upgrade pcre2grep for Windows courtesy of Jason Hood. 2016-12-31 17:40:45 +00:00
Philip.Hazel 70daa788a5 Minor tidy. 2016-12-31 14:17:14 +00:00
Philip.Hazel f42fb677b9 Limit the subject length in the fuzzer support function, to avoid wasting time
searching large trees.
2016-12-31 13:46:36 +00:00
Philip.Hazel 18dd19eae0 Make the test for over-complication while auto-possessifying bite sooner. 2016-12-31 13:35:31 +00:00
Philip.Hazel 25dbe146bd Very minor tidy to pcre2grep, plus fix typos in comments. 2016-12-29 16:29:05 +00:00
Philip.Hazel 62659dd2f3 Add callout_error to pcre2test and stop the fuzzer after 100 callouts. 2016-12-28 15:05:48 +00:00
Philip.Hazel f676362977 Fix issue with \Q\E after a callout before an assertion condition. 2016-12-28 12:26:12 +00:00
Philip.Hazel fdf7946ee0 Fail hyphen after POSIX character class. 2016-12-27 11:50:28 +00:00
Philip.Hazel 8933d999d8 Fix class bug when UCP but not UTF was set and all wide characters need to be
included.
2016-12-26 17:11:18 +00:00
Philip.Hazel a7a25ed91d Fix bug when a character > 0xffff appears in a lookbehind within a lookbehind. 2016-12-24 16:25:11 +00:00
Philip.Hazel 6c48775955 Fix mis-parsing of a conditional group with callout but a question mark where
the assertion should start.
2016-12-23 18:34:10 +00:00
Philip.Hazel 482b6a1f0a Add the -ac option (auto_callout) to pcre2test. 2016-12-23 17:36:22 +00:00
Philip.Hazel d15aab4d17 More refactoring: keep track of empty branches during compiling, replacing a
post-compile scan.
2016-12-23 17:09:37 +00:00
Philip.Hazel 1f87b60f01 Make the recursion limit apply to DFA matching. 2016-12-23 11:04:51 +00:00
Philip.Hazel 3df9674c4e Fix name table sort buffer overflow. 2016-12-21 17:09:11 +00:00