Commit Graph

717 Commits

Author SHA1 Message Date
Zoltán Herczeg 77513bfc04 Fix after JIT compiler update. 2017-11-30 08:15:28 +00:00
Zoltán Herczeg 28e73c60e3 JIT compiler update. 2017-11-29 13:30:31 +00:00
Zoltán Herczeg f93d278054 Fix pcre2_jit_match early check. 2017-11-23 07:54:39 +00:00
Philip.Hazel 2881730084 Very minor code tidy. 2017-11-16 17:44:50 +00:00
Philip.Hazel 2543ba81f7 Fix crash for --line-buffered with a .gz or .bz2 file in pcre2grep. 2017-11-13 17:12:55 +00:00
Philip.Hazel 76814d92c7 Fix multiple multiline matching issues in pcre2grep. 2017-11-13 16:52:39 +00:00
Philip.Hazel 1cc5351f6c Remove superflous variable. 2017-11-09 17:50:59 +00:00
Philip.Hazel 36366914f5 Fix oss-fuzz bugs 3852 and 3891 (same bug); mis-closing external captures by
*ACCEPT inside assertions.
2017-10-29 16:58:38 +00:00
Philip.Hazel 13fe9767cf Fix memory leak issue introduced in last bug fix in pcre2grep. 2017-10-22 16:17:44 +00:00
Philip.Hazel 3a55923da8 Fix pcre2grep recursive file name length issue. 2017-10-20 16:51:59 +00:00
Philip.Hazel cc2182261a Add -LM to pcre2test. 2017-10-17 16:26:20 +00:00
Philip.Hazel aa0c168332 Set PCRE2GREP_RC to the pcre2grep exit status when running under VMS. 2017-10-11 16:49:10 +00:00
Philip.Hazel 6f4ee08469 Add some casts to avoid compiler warnings. 2017-09-26 17:01:23 +00:00
Philip.Hazel 8bbf2b1924 Fixed a small memory leak in pcre2test (convert contexts). 2017-09-18 15:51:44 +00:00
Philip.Hazel 897d547046 Define names for compiler error codes and use them in pcre2_convert.c 2017-09-17 16:56:41 +00:00
Philip.Hazel 5e3a1da503 Remove \C tests from JIT regression when NEVER_BACKSLASH_C is defined. 2017-09-16 11:46:08 +00:00
Philip.Hazel 4ac74a013b Add PCRE2_CONFIG_COMPILED_WIDTHS and PCRE2_CONFIG_NEVER_BACKSLASH_C. 2017-09-16 11:39:38 +00:00
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