Commit Graph

700 Commits

Author SHA1 Message Date
Philip.Hazel d8692f30b7 Make pcre2_internal.h idempotent. 2017-09-13 09:07:00 +00:00
Philip.Hazel 42f547bf4d Replace multiple copies of extended grapheme sequence code with a single
subroutine.
2017-09-12 16:28:42 +00:00
Philip.Hazel badfbcdd12 Documentation update. 2017-09-12 11:41:31 +00:00
Philip.Hazel 3cd616c3a9 Fix typo in VMS code in pcre2test. 2017-08-28 14:59:04 +00:00
Philip.Hazel 94cb52befb Final file tidies for 10.30 release. 2017-08-15 10:58:32 +00:00
Philip.Hazel 18d7627293 Fix "maybe uninitialized" warning. 2017-08-12 16:22:52 +00:00
Zoltán Herczeg 6a42f68b34 Minor JIT compiler update. 2017-08-01 08:26:01 +00:00
Philip.Hazel 4d82a61d47 Hyphen at the end of a character class is always literal. Give error for false
range after \d etc.
2017-07-29 15:54:04 +00:00
Philip.Hazel 33a4edf837 Modify #ifdefs for Cygwin. 2017-07-27 16:17:19 +00:00
Philip.Hazel 0ba5272960 Fix bug in /xx implementation. 2017-07-25 15:27:30 +00:00
Zoltán Herczeg 464d03799f JIT compiler update. 2017-07-24 04:05:38 +00:00
Philip.Hazel 89ebfca28d Put back pcre2_set_recursion_limit() as a real function, synonym for
pcre2_set_depth_limit() in order to preserve the ABI.
2017-07-21 08:53:02 +00:00
Philip.Hazel d4f82ba62a Use %z format to avoid compiler warning. 2017-07-21 08:41:21 +00:00
Philip.Hazel c747990046 Rename the FWRITE macro in pcre2grep to avoid clash in cygwin. 2017-07-21 08:22:03 +00:00
Philip.Hazel 810d9b6da5 Code tidies for 10.30-RC1 release candidate. 2017-07-19 16:04:15 +00:00
Philip.Hazel a23715d7b1 Document experimental pattern conversion functions and remove unimplemented
features.
2017-07-12 16:34:49 +00:00
Philip.Hazel 4f7a608d56 Update grapheme breaking rules for Unicode 10.0.0. 2017-07-05 08:55:49 +00:00
Philip.Hazel 41bb787fb3 Update to Unicode 10.0.0 and add callout_no_where to pcre2test to aid testing. 2017-07-02 16:32:01 +00:00
Philip.Hazel b7d5cee61f Allow anchored patterns to use "first code unit" optimization. 2017-06-30 16:00:33 +00:00
Philip.Hazel cc089cf971 Increase limit for "must be present" code units for 8-bit searches, which use
memchr().
2017-06-26 16:25:16 +00:00
Philip.Hazel 76a57bd839 Convert pcre2grep to use new pcre2_compile() options, thereby fixing two minor
(?) bugs.
2017-06-17 11:32:06 +00:00
Philip.Hazel 69eab9cfe7 Minor code tidy. 2017-06-16 18:04:41 +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
Zoltán Herczeg 6679349203 Fix a match offset check in JIT. 2017-06-16 10:27:02 +00:00
Philip.Hazel c4fac10bad Implement PCRE2_LITERAL and REG_NOSPEC. 2017-06-15 16:41:44 +00:00
Zoltán Herczeg 95724543c3 JIT compiler update. 2017-06-15 11:36:18 +00:00
Zoltán Herczeg 9af8fe2e87 Add makefile support for SELinux allocator in JIT. 2017-06-15 06:20:30 +00:00
Philip.Hazel 6e30ed1b40 Add subject_literal and allow jitstack in pcre2test pattern modifiers, and add
another big pattern test.
2017-06-12 17:48:03 +00:00
Zoltán Herczeg 1381c3fe28 Improve char range match in JIT. 2017-06-08 12:07:05 +00:00
Philip.Hazel bcba497c0b Implement REG_PEND (GNU extension) for the POSIX wrapper. 2017-06-05 18:25:47 +00:00
Philip.Hazel f850015168 Add suitable "fall through" comments for latest gcc warnings. 2017-06-03 17:50:03 +00:00
Philip.Hazel e4c86e2ced Fix matching offsets from regexec() in the POSIX wrapper when called with
REG_STARTEND and a starting offset greater than zero.
2017-06-03 16:42:58 +00:00
Philip.Hazel e3a0f22349 Implement PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL. 2017-06-01 18:10:15 +00:00
Philip.Hazel c0902e176f Make pcre2_dfa_match() take notice of the match limit, to catch patterns that
use too much resource. This should fix oss-fuzz 1761.
2017-05-30 10:42:57 +00:00
Zoltán Herczeg a16919ce6f Improve character range optimization in JIT. 2017-05-30 09:42:28 +00:00
Philip.Hazel cfe289c60b Fix pcre2test buffer size issue for convert calls in non-8-bit modes. 2017-05-29 16:21:11 +00:00
Zoltán Herczeg 3f831482ab Fix alnum parsing in glob conversion. 2017-05-28 04:05:58 +00:00
Zoltán Herczeg b317bdc184 JIT SSE2 optimization improvement. 2017-05-28 03:53:09 +00:00
Philip.Hazel c34544b11f Update POSIX basic regex conversion code. 2017-05-27 17:08:28 +00:00
Philip.Hazel 62e202f757 Discard partial match when endanchored is set in the fuzzer, as it just gives
an immediate bad options return.
2017-05-27 16:06:56 +00:00
Philip.Hazel 3f96e07e6b Fix lookbehind with zero-length branch in DFA matching. Fixes oss-fuzz 1959. 2017-05-27 15:49:29 +00:00
Philip.Hazel 3d80fa4fc2 Implement PCRE2_NEWLINE_NUL. 2017-05-26 17:14:36 +00:00
Philip.Hazel 772d857f69 More conversion development. 2017-05-25 16:34:22 +00:00
Zoltán Herczeg bf6f53b089 Support invalid character classes in conversion. 2017-05-25 13:19:42 +00:00
Zoltán Herczeg 0b2052f714 Support the general case of starstar in glob conversion. 2017-05-24 15:22:03 +00:00
Zoltán Herczeg 9826db624e Rework character range parsing in glob conversion. 2017-05-24 10:14:43 +00:00
Philip.Hazel fef4de56a1 Fix potential NULL dereference in new code for surrogate escapes, discovered by
Coverity Scan.
2017-05-23 16:47:29 +00:00
Philip.Hazel 231a800557 More experimental convert code evolution. 2017-05-23 16:08:48 +00:00
Zoltán Herczeg 51df11a591 Use atomic blocks after starstar during conversion. 2017-05-23 15:17:44 +00:00
Philip.Hazel 0e622185c2 Screw down the depth limit for DFA matching in the fuzzer function. Fixes
OSS-fuzz 1761 (I hope).
2017-05-22 18:06:55 +00:00
Zoltán Herczeg e36e582af0 Implement flags in the glob convert functions. 2017-05-22 10:23:36 +00:00
Philip.Hazel 72f0c742dd Add a call to pcre2_dfa_match() to the fuzzer driver. 2017-05-20 14:28:11 +00:00
Philip.Hazel 62564c08fd pcre2test can now handle lists of conversion options. 2017-05-20 11:40:12 +00:00
Zoltán Herczeg 095924ee65 Implement starstar in glob conversion. 2017-05-19 03:55:39 +00:00
Philip.Hazel 485b269f9c Conversion code update (revised option definitions). 2017-05-18 14:42:19 +00:00
Zoltán Herczeg ac12e979b3 Support character classes in glob conversion. 2017-05-18 06:46:22 +00:00
Philip.Hazel dfc9712bcd Add additional compile options and PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES. 2017-05-17 17:55:11 +00:00
Zoltán Herczeg d9c33d0708 Reworking bash glob conversion. 2017-05-17 13:44:24 +00:00
Philip.Hazel 223104001c Get rid of literal strings in conversion functions. 2017-05-16 12:42:17 +00:00
Zoltán Herczeg dcbba52985 Initial version of bash glob conversion. 2017-05-16 07:14:11 +00:00
Philip.Hazel f8256af661 Experimental conversion: fix POSIX BRE starting ^*. 2017-05-14 12:04:13 +00:00
Philip.Hazel 7927ac0ee3 Updates to experimental conversion code. 2017-05-13 17:46:27 +00:00
Philip.Hazel 67995268cf More refactoring for ovector addressing. 2017-05-11 16:49:58 +00:00
Philip.Hazel cd4a219626 A better fix for oss-fuzz 1465. 2017-05-11 16:28:54 +00:00
Philip.Hazel ab1e3c9309 Refactor to avoid sanitize warnings when accessing the variable size ovector in
the backtracking frame. Fixes oss-fuzz issue 1465. Also make -bigstack in 
RunTest allocate a 64Mb stack for use with clang sanitizing.
2017-05-10 18:21:03 +00:00
Philip.Hazel 1909bf0691 Refactor to avoid picky compiler warnings. Fixes oss-fuzz issue 1454. 2017-05-10 16:44:33 +00:00
Philip.Hazel 3813b518ce Correct fix for experimental POSIX pattern translation. 2017-05-10 15:42:13 +00:00
Philip.Hazel 7ca875b1db Fix bug in experimental conversion code. 2017-05-09 10:44:50 +00:00
Zoltán Herczeg 660811e899 Improve first bitset search in JIT. 2017-05-09 08:42:46 +00:00
Philip.Hazel 764e23e670 Fix typos in macros for experimental convert functions. 2017-05-08 15:07:34 +00:00
Zoltán Herczeg 4655d89ce5 Continue reworking first character search in JIT. 2017-05-08 13:32:59 +00:00
Zoltán Herczeg 3c542db175 Improve first character searches. 2017-05-08 03:35:40 +00:00
Philip.Hazel 587011e326 Fix memory leak in pcre2test (found by Coverity Scan). 2017-05-07 15:55:41 +00:00
Zoltán Herczeg ba1c759c90 JIT: Allow early quit in fast forward search. 2017-05-07 14:28:37 +00:00
Zoltán Herczeg a61bd956eb JIT compiler update. 2017-05-07 07:10:16 +00:00
Philip.Hazel 382b64b01c Fix crash when more than one kind of "push" was set in pcre2test. 2017-05-06 16:56:07 +00:00
Philip.Hazel 6e943e5f47 Experimental pattern conversion code (no public documentation yet). 2017-05-06 16:19:39 +00:00
Zoltán Herczeg aa224e4ac9 JIT compielr update. 2017-04-26 08:34:09 +00:00
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