Commit Graph

175 Commits

Author SHA1 Message Date
Philip.Hazel b7d5cee61f Allow anchored patterns to use "first code unit" optimization. 2017-06-30 16:00:33 +00:00
Philip.Hazel a083420cac Implement PCRE2_EXTRA_MATCH_LINE and PCRE2_EXTRA_MATCH_WORD for the benefit
of pcre2grep.
2017-06-16 17:51:13 +00:00
Philip.Hazel c4fac10bad Implement PCRE2_LITERAL and REG_NOSPEC. 2017-06-15 16:41:44 +00:00
Philip.Hazel e3a0f22349 Implement PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL. 2017-06-01 18:10:15 +00:00
Philip.Hazel 3d80fa4fc2 Implement PCRE2_NEWLINE_NUL. 2017-05-26 17:14: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
Philip.Hazel 3dca43fdff Implement PCRE2_EXTENDED_MORE and friends. 2017-04-18 12:32:52 +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
Zoltán Herczeg 1379a48d94 Support end anchored in JIT. 2017-04-13 11:52:36 +00:00
Philip.Hazel 3b8672bf49 Fix ACCEPT issue with ENDANCHORED. 2017-04-11 14:53:26 +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 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
Zoltán Herczeg 25cec7a966 Support full ovector data for JIT callouts. 2017-03-25 06:33:41 +00:00
Philip.Hazel 39d9294d14 Move some tests back into test 1 now that JIT has been updated. 2017-03-24 18:40:15 +00:00
Philip.Hazel 45ddeb70cf Fix issues with (*VERB)s inside recursive subroutine calls. 2017-03-23 17:54:58 +00:00
Philip.Hazel cde5f12cee Fix 32-bit error buffer size bug in pcre2test (Bugzilla 2079). 2017-03-21 17:46:21 +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
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 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 26e92bc554 Fix crash for pattern with very many captures. Fixes oss-fuzz issue 783. 2017-03-10 16:34:54 +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 f6f7c9148f Check malloc returns in pcre2test. 2017-02-23 17:05:43 +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 4311f49d0e Fix \g+ bug when the number that follows is too big. 2017-01-31 17:15:30 +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 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 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 a984029d80 Fix incorrect internal error for very complicated back reference handling. 2016-12-20 16:47:41 +00:00
Philip.Hazel f77339a3ca Fix \Q\E quantification bug. 2016-12-11 16:42:29 +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 0e04c156a4 Fix buffer overflow in partial match test for CRLF in empty buffer. 2016-12-08 17:55: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 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 02e8b83bed Test update. 2016-11-04 16:40:08 +00:00
Philip.Hazel e533e0f774 Fix overrun for unterminated number after \g' 2016-11-04 11:05:21 +00:00
Philip.Hazel 12a6d697fe Fix read beyond unterminated quantifier at end of pattern. 2016-11-01 12:12:45 +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 2821076981 Diagnose an overall recursion (?0) inside a lookbehind as an error. 2016-10-23 17:05:09 +00:00
Philip.Hazel a22c5e4204 Fix optimization bugs when pattern starts with lookahead. 2016-10-18 11:22:40 +00:00
Philip.Hazel bc3e331efd Add test for bug already fixed by the refactoring. 2016-10-13 16:08:08 +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 9b741ad59d Detect overflow in pcre2test pattern and subject repetition counts. 2016-07-06 08:42:50 +00:00
Philip.Hazel 94e07de498 Detect missing closing parentheses during the pre-pass. 2016-02-13 15:30:29 +00:00