Commit Graph

395 Commits

Author SHA1 Message Date
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 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 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 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 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 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
Philip.Hazel bea3a10a93 Final file updates for 10.23. 2017-02-14 10:40:33 +00:00
Philip.Hazel f19d6e1a35 Update Windows grep test script in line with the non-Windows version. 2017-02-14 10:29:00 +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 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 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
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
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
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 3efb5641ee Add RunGrepTest.bat (supplied by Jason Hood). 2016-12-31 14:12:53 +00:00
Philip.Hazel f18bfd1d93 Fix Windows test script. 2016-12-31 14:04:25 +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 a3cb2c761d Fix typo in ChangeLog. 2016-12-29 15:54:23 +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
Philip.Hazel a984029d80 Fix incorrect internal error for very complicated back reference handling. 2016-12-20 16:47:41 +00:00
Philip.Hazel f8dcb985ba Correct ChangeLog. 2016-12-11 16:47:39 +00:00
Philip.Hazel f77339a3ca Fix \Q\E quantification bug. 2016-12-11 16:42:29 +00:00
Philip.Hazel a98121a212 Fix caseless minimizing back reference bug when heap in use for recursion. 2016-12-10 14:59:24 +00:00
Philip.Hazel 7914fa82a9 Fix OOB error in substitute with start offset longer than length. 2016-12-09 18:19:38 +00:00
Philip.Hazel bcad1aa4f6 Fix NULL defer in extended substition for \p, \P, or \X. 2016-12-09 16:57:51 +00:00
Philip.Hazel 156a5c4e5f Fix crash in pcre2test when displaying a wide character with a locale set. 2016-12-08 18:56:24 +00:00
Philip.Hazel 0e04c156a4 Fix buffer overflow in partial match test for CRLF in empty buffer. 2016-12-08 17:55:26 +00:00
Philip.Hazel 561dff70d0 Fix small memory leak in error code path. 2016-12-08 16:52:26 +00:00
Philip.Hazel 14f6b9fb03 Fix \Q...\E bug in (*VERB) name when PCRE2_ALT_VERBNAMES and PCRE2_AUTO_CALLOUT
were both specified.
2016-11-27 16:14:33 +00:00
Philip.Hazel 7390ce13f6 Quantifiers following (*VERB)s were not being diagnosed. 2016-11-25 10:37:23 +00:00
Philip.Hazel 4c69f50e69 Fix bad behaviour for subroutine call in lookbehind when the called subroutine
contained an option setting such as (?s) and PCRE2_ANCHORED was set.
2016-11-23 17:17:57 +00:00
Philip.Hazel 2aec84e37e Add pcre2_code_copy_with_tables(). 2016-11-22 15:37:02 +00:00
Philip.Hazel bc48f4709c Give some offset information for errors in pcre2test hex patterns. 2016-11-22 10:33:13 +00:00
Philip.Hazel 9afb978ae4 Correct libpcre2posix typos (should be libpcre2-posix). 2016-11-22 10:18:08 +00:00
Philip.Hazel 2c2b0febef Make idempotency guards more standards compliant. 2016-11-20 12:46:11 +00:00
Philip.Hazel 2ce680f2f5 Add PCRE2_CALL_CONVENTION into prototypes. 2016-11-19 12:46:24 +00:00
Philip.Hazel e0cccdd028 Fix overrun bug caused by conditional with assertion using too much memory. 2016-11-18 18:59:37 +00:00
Philip.Hazel 21c084125c Fix global overflow bug for get/copy names in pcre2test. 2016-11-10 17:08:27 +00:00
Philip.Hazel 270eaa7615 Fix bad working space size calculation when PCRE2_AUTO_CALLOUT is set. 2016-11-04 16:35:47 +00:00
Philip.Hazel e533e0f774 Fix overrun for unterminated number after \g' 2016-11-04 11:05:21 +00:00
Philip.Hazel 10f4e45e68 Add use_length to pcre2test. 2016-11-04 10:53:43 +00:00
Philip.Hazel fb231d30fe List valgrind support when it is enabled. 2016-11-03 18:25:51 +00:00
Philip.Hazel 30cf6b6954 Add strerror() to pcre2test for failed file opening. 2016-11-03 18:18:53 +00:00
Philip.Hazel e8d564831f Remove all "register" declarations. 2016-11-03 17:35:59 +00:00
Philip.Hazel 6a15c1cbcc Fix callout string read overrun; do better with catching these when using
zero-terminated patterns under valgrind.
2016-11-01 17:45:54 +00:00
Philip.Hazel 4fd8feaa50 Fix auto-anchor bug when .* is inside an assertion. 2016-11-01 15:58:28 +00:00
Philip.Hazel 12a6d697fe Fix read beyond unterminated quantifier at end of pattern. 2016-11-01 12:12:45 +00:00
Philip.Hazel 0ea3274a53 Fix pattern overrun in utf extended mode for a # comment that hit the end. 2016-10-31 17:46:56 +00:00
Philip.Hazel 2aa482039a Add fuzzer support features. 2016-10-31 17:19:00 +00:00
Philip.Hazel 24ab24fde0 Fix bad memory calculation when the first branch of a lookbehind is of zero
length.
2016-10-28 16:09:08 +00:00
Philip.Hazel 8eae402315 Fix bad lookup in global table for wide characters in extended mode and in
*VERB names.
2016-10-27 17:42:14 +00:00
Philip.Hazel 56084cc922 Fix *MARK length check in UTF mode (it was checking characters, not code
units).
2016-10-26 16:59:22 +00:00
Philip.Hazel 2821076981 Diagnose an overall recursion (?0) inside a lookbehind as an error. 2016-10-23 17:05:09 +00:00
Philip.Hazel d117300a1d The "offset" modifier in pcre2test was not being ignored (as documented) for
POSIX.
2016-10-23 16:18:15 +00:00
Philip.Hazel a22c5e4204 Fix optimization bugs when pattern starts with lookahead. 2016-10-18 11:22:40 +00:00
Philip.Hazel 1828179ef9 Add -t to pcre2grep. 2016-10-16 16:48:14 +00:00
Philip.Hazel bd9a70f14d Dmitry Cherniachenko's patch for colouring pcre2grep output in Windows. 2016-10-14 16:17:48 +00:00
Philip.Hazel 6c72b76a64 Added some "const" qualifiers to variables in pcre2grep. 2016-10-14 15:47:27 +00:00
Philip.Hazel b3afb24224 Make pcre2grep work (using the interpreter) if compiled with JIT support when
the main library does not have it.
2016-10-13 17:20:08 +00:00
Philip.Hazel bc3e331efd Add test for bug already fixed by the refactoring. 2016-10-13 16:08:08 +00:00
Philip.Hazel bf6f0bb335 Implement buffer expansion in pcre2grep. 2016-10-11 16:40:09 +00:00
Philip.Hazel ffd53c9223 Fix typo in CMakeLists.txt. 2016-10-05 17:03:52 +00:00
Philip.Hazel 1d28e047f3 Fix callout display bug in pcre2test. 2016-10-05 16:53:34 +00:00
Philip.Hazel 99264dfc23 Major refactoring of pcre2_compile.c; see ChangeLog and HACKING. 2016-10-02 16:01:01 +00:00
Philip.Hazel dda1e79060 Fix bug that caused chars > 255 not to be matched by classes like [\W\pL] when
PCRE2_UCP was not set.
2016-08-03 17:22:59 +00:00
Philip.Hazel 69c9d81e43 Update pcre2test with the /utf8_input option, for generating wide characters in
non-UTF 16-bit and 32-bit modes.
2016-08-03 09:01:02 +00:00
Philip.Hazel 42d7c17a1d Tidy code to get rid of compiler warnings. 2016-07-27 18:00:12 +00:00
Zoltán Herczeg 063f45de11 Fix unaligned accesses on x86. Patch by Marc Mutz. 2016-07-15 10:02:19 +00:00
Philip.Hazel 6a5acedf08 Ignore "allcaptures" after DFA matching. 2016-07-06 15:02:24 +00:00
Philip.Hazel 9b741ad59d Detect overflow in pcre2test pattern and subject repetition counts. 2016-07-06 08:42:50 +00:00