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
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
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
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
346447005a
Remove redundant line of code (a typo really).
2017-04-14 11:42:02 +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
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
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
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
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
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
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
Zoltán Herczeg
83c67a8ece
Fix register overwite in JIT when SSE2 acceleration is enabled.
2016-07-01 08:56:59 +00:00
Philip.Hazel
921636f6fc
Documentation detrail and make HTML for 10.22-RC1.
2016-06-29 16:52:05 +00:00
Philip.Hazel
431d41cb2d
File tidies for 10.22-RC1
2016-06-29 16:43:32 +00:00
Philip.Hazel
f16f5395cd
Add MSVC snprintf fix to pcre2posix.c, which no longer includes
...
pcre2_internal.h.
2016-06-26 16:21:23 +00:00
Philip.Hazel
d6bec3e2a5
Update patch for MSVC static compilation (see Bugzilla #1681 ).
2016-06-24 09:07:15 +00:00
Philip.Hazel
b7850e4fca
Upgrade RunTest to try test 2 with a large stack if it fails with a smaller one
...
when running the interpreter.
2016-06-22 19:23:33 +00:00
Philip.Hazel
5f5e7f6fb2
Fix two compiler warnings from clang when only one code unit width is
...
supported.
2016-06-22 10:41:05 +00:00
Philip.Hazel
149456dce0
Support \C in lookbehinds and DFA matching in UTF-32 mode.
2016-06-20 18:14:51 +00:00
Philip.Hazel
b002f44061
Fix bad interaction between -o and -M in pcre2grep.
2016-06-17 17:37:26 +00:00
Philip.Hazel
4f238daf41
Exclude __INTEL_COMPILER in the test for __GNUC__.
2016-06-17 11:45:16 +00:00
Philip.Hazel
0a29ecbe02
Return an error code when pcre2_get_error_message() does not recognize an error
...
code, and add a pcre2test facility for testing this.
2016-06-17 11:30:27 +00:00
Philip.Hazel
16acce6555
Fix possible negative index possibility in pcre2test.
2016-06-14 16:14:52 +00:00
Philip.Hazel
4db9b51ce0
Fix comment describing returns from find_fixedlength().
2016-06-14 15:12:07 +00:00
Philip.Hazel
42f9a5e9e7
Fix typo that gave compiler error when JIT not supported.
2016-06-14 09:19:24 +00:00
Philip.Hazel
d243224a60
Implement PCRE2_NO_JIT, update HTML docs as well.
2016-06-05 16:05:34 +00:00
Philip.Hazel
784b3d2409
Update valgrind parameters in RunGrepTest and arrange for the suppressions file
...
to be used when JIT is supported.
2016-05-31 11:36:10 +00:00
Philip.Hazel
047695ac7c
Make pcre2grep use JIT (it was omitted by mistake).
2016-05-31 11:06:53 +00:00
Philip.Hazel
de605ef9a0
Fix typo in test program.
2016-05-25 08:42:31 +00:00
Philip.Hazel
c014958f16
Add a bit more sanity checking to pcre2_serialize_decode(), and document.
2016-05-24 16:37:13 +00:00
Philip.Hazel
18018db697
Minor refactor to avoid "left shift of negative number" warning.
2016-05-21 13:41:24 +00:00
Philip.Hazel
bf1587490b
Minor code refactor to avoid compiler warning.
2016-05-20 10:47:42 +00:00
Zoltán Herczeg
7650161677
A racing condition is fixed in JIT reported by Mozilla.
2016-05-19 18:09:07 +00:00
Philip.Hazel
8f4e7c84b4
Refactor pcre2posix.c so as not to #include pcre2_internal.h.
2016-05-14 16:35:20 +00:00
Philip.Hazel
517cd43ff6
Fix bug for test 22.
2016-04-22 14:10:51 +00:00
Philip.Hazel
c332eaf4f2
Add callout support to pcre2grep
2016-04-01 15:52:08 +00:00
Philip.Hazel
ddcedf0338
pcre2grep: fix \r\r\n problem for Windows, and give buffer size in error
...
message.
2016-04-01 09:15:38 +00:00
Philip.Hazel
dd76a5938d
Apply supplied patch for MSVC static compilation.
2016-03-01 12:02:58 +00:00
Philip.Hazel
0cfea16397
Define snprintf as _snprintf for older MSVC compilers.
2016-02-29 18:31:30 +00:00
Philip.Hazel
5b543bf660
Fix typo in pcre2_study().
2016-02-28 14:56:50 +00:00
Philip.Hazel
371bf87af6
Fix pcre2test bug when snprintf() in regerror() does not insert a binary zero.
2016-02-27 12:49:00 +00:00
Philip.Hazel
96926349bc
Implemented pcre2_code_copy().
2016-02-26 18:26:17 +00:00
Philip.Hazel
c28ed7fd4a
Fix some picky compiler warnings
2016-02-16 10:23:06 +00:00
Philip.Hazel
94e07de498
Detect missing closing parentheses during the pre-pass.
2016-02-13 15:30:29 +00:00
Philip.Hazel
6bb132265b
Fix workspace overflow for deep nested parentheses with (*ACCEPT).
2016-02-10 18:24:02 +00:00
Philip.Hazel
78aff8c80f
Fix pcre2test loop when a callout is in an initial lookbehind.
2016-02-06 16:40:59 +00:00
Philip.Hazel
26f610a1e5
Detect and warn when pcre2test is linked with an alien POSIX library.
2016-02-03 15:22:01 +00:00
Philip.Hazel
9f75a0f92a
Detect unmatched closing parentheses in the pre-scan to avoid giving incorrect
...
error messages.
2016-02-02 17:22:55 +00:00
Philip.Hazel
4e67c0c9e9
Tidy pcre2demo.c
2016-02-02 16:25:47 +00:00
Philip.Hazel
6c1c817438
Don't set PCRE2_NO_AUTO_CAPTURE when REG_NOSUB is passed to regcomp().
2016-01-31 19:14:15 +00:00
Philip.Hazel
310cd4e0f3
Update maintenance script (easier test set selection).
2016-01-30 16:00:55 +00:00
Philip.Hazel
f345e7dd9a
Update valgrind parameters.
2016-01-30 15:19:48 +00:00
Philip.Hazel
8febd27344
Two pcre2test extensions: quoted literal substrings in hex patterns and
...
detection of unsupported binary zeros in file input.
2016-01-29 18:16:59 +00:00
Philip.Hazel
fd008957d5
Patches to fix tests under Windows.
2016-01-29 15:01:17 +00:00
Philip.Hazel
bebd2d48bf
Final file updates for 10.21 release.
2016-01-12 14:44:34 +00:00
Philip.Hazel
dffd559601
File tidies, version updates, etc. for 10.21-RC1
2015-12-17 18:44:06 +00:00
Philip.Hazel
57c44eec15
Fix printing of *MARK names containing binary zeroes in pcre2test.
2015-12-16 18:44:24 +00:00
Philip.Hazel
35e0f55783
Implement PCRE2_SUBSTITUTE_{OVERFLOW_LENGTH,UNKNOWN_UNSET}.
2015-12-12 18:45:40 +00:00
Philip.Hazel
b34dbecb75
Harden pcre2test against ridiculously large values in modifiers and command
...
line arguments.
2015-12-05 18:17:41 +00:00
Philip.Hazel
2f684a60ed
Implement PCRE2_SUBSTITUTE_UNSET_EMPTY.
2015-12-04 18:39:08 +00:00
Philip.Hazel
a7c9027ae6
Fix \) in (*verb) "name" bug.
2015-12-03 18:36:36 +00:00
Philip.Hazel
4a4326638d
Documentation clarification.
2015-12-03 17:19:13 +00:00
Philip.Hazel
1f9b2a2e4b
Fix /x bug when pattern starts with whitespace followed by (?-x).
2015-12-03 16:58:31 +00:00
Philip.Hazel
d71b70cdf7
Fix issues with NULL characters in patterns.
2015-12-02 17:39:26 +00:00
Philip.Hazel
7b1d9549c6
Fix extended *verb name ignored terminating whitespace bug.
2015-12-01 17:41:24 +00:00
Philip.Hazel
12fc152074
Fix empty \Q\E between an item and a qualifier in auto-callout mode.
2015-11-30 17:31:16 +00:00
Philip.Hazel
1b38451847
Allow for up to 32-bit numbers in the ordin() function in pcre2grep.
2015-11-29 17:45:27 +00:00
Philip.Hazel
e0764cd5fd
Give error for regexec with pmatch=NULL and REG_STARTEND set.
2015-11-29 17:38:12 +00:00
Philip.Hazel
de6603d294
Fix bad behaviour for isolated \E before qualifier with auto-callout.
2015-11-27 17:34:36 +00:00
Philip.Hazel
291ececa58
Fix negated POSIX class bug.
2015-11-27 17:03:58 +00:00
Philip.Hazel
aec5c96cf5
Fix bad offset value in invalid UTF pattern error.
2015-11-27 15:58:44 +00:00
Philip.Hazel
2eb24e2dac
Fix auto-callout with (?# comment bug.
2015-11-25 18:46:35 +00:00
Philip.Hazel
c7e9887a65
Make startoffset a synonym of offset in pcre2test.
2015-11-21 16:10:24 +00:00
Philip.Hazel
11e0001b14
Fix wide character problem with negated POSIX ascii and xdigit class items.
2015-11-20 16:55:36 +00:00
Philip.Hazel
c4b8531a8f
Fix [:punct:] bug in UCP mode (matching chars in the range 128-255)
2015-11-17 17:59:35 +00:00
Philip.Hazel
6650a2fd9a
Fix single-character POSIX class bug in UCP mode.
2015-11-17 17:13:43 +00:00
Zoltán Herczeg
c0d0f2f65e
Fix two offset_limit bug in JIT.
2015-11-16 08:30:48 +00:00
Philip.Hazel
7cc0597baa
Re-arrange valgrind code.
2015-11-15 18:55:20 +00:00
Philip.Hazel
5ced14bf24
Implement PCRE2_INFO_HASBACKSLASHC.
2015-11-14 17:28:19 +00:00
Philip.Hazel
7a233130ad
Document JIT compile size limit and give more info in pcre2test.
2015-11-14 16:48:32 +00:00
Philip.Hazel
860b6f228a
Run test 8 (sizes and offsets and mode-specific things) for link size 3 and 4
...
as well as for link size 2, with different output files in each case.
2015-11-14 13:22:34 +00:00
Philip.Hazel
c8ed1e8feb
Paranoid check in regcomp() for bad error code from pcre2_compile().
2015-11-13 17:26:42 +00:00
Philip.Hazel
299e587f9b
Don't split CRLF in pcre2_substitute() when it's a valid newline sequence.
2015-11-13 16:52:26 +00:00
Philip.Hazel
2f8febd4b1
Give match data memory failur in regcomp() instead of regexec()
2015-11-12 18:35:49 +00:00
Philip.Hazel
8d70b1d368
Tidy another out-of-bounds pointer issue.
2015-11-12 17:24:58 +00:00
Philip.Hazel
9c5958fbe6
Check for too many replacements (more than INT_MAX) in pcre2_substitute()
2015-11-11 18:35:14 +00:00
Philip.Hazel
ccfd31cda2
Check errorcode > 0 in regerror().
2015-11-11 17:52:11 +00:00
Philip.Hazel
ab48e8bb73
Lock out configuring for EBCDIC with non-8-bit libraries.
2015-11-11 17:43:37 +00:00
Philip.Hazel
7bf5d9efd0
Small optimizations in pcre2_study.c
2015-11-11 09:42:26 +00:00
Philip.Hazel
e7727c36be
Don't use group caching when (?| is involved; instead use a counter to cap too
...
much computation.
2015-11-10 14:33:28 +00:00
Philip.Hazel
a710d3b37b
Cap minimum length at 65535 and check for integer overflow.
2015-11-09 18:45:15 +00:00
Philip.Hazel
1bd3658bd9
Allow for the possibility of the size of the nest_save structure not being
...
a factor of the size of the compiling workspace.
2015-11-09 17:39:43 +00:00
Philip.Hazel
89b1ae1c98
Use caching to improve could_be_empty() and find_fixed_length() compile times,
...
especially when recursion/subroutine calls are present.
2015-11-08 14:20:09 +00:00
Philip.Hazel
2909e2411c
Fix (*NO_AUTO_POSSESS)
2015-11-05 18:03:16 +00:00
Philip.Hazel
b7ee0684e3
Implement pcre2_set_max_pattern_length()
2015-11-05 17:33:39 +00:00
Philip.Hazel
b02bb996af
Check subpattern name lengths dynamically.
2015-11-03 20:04:23 +00:00
Philip.Hazel
4ad83f7103
Dynamic check of (*MARK) etc name length to avoid the possibility of overflow.
2015-11-03 19:14:31 +00:00
Philip.Hazel
2caf22dc61
Forbid \K patterns that end before they start in pcre2_substitute().
2015-11-03 17:38:00 +00:00
Philip.Hazel
75181cca2e
Give error for overlong lookbehind assertion.
2015-11-03 10:39:27 +00:00
Philip.Hazel
7d7a92edef
Bad max lookbehind length was calculated when a back reference contained a
...
recursion.
2015-11-01 17:31:48 +00:00
Philip.Hazel
aaa23388c7
Fix dodgy code for UTF-32 checking.
2015-11-01 16:54:17 +00:00
Philip.Hazel
a0d04b9fa3
Fix off-by-one bug in pcre2_substitute().
2015-11-01 16:36:20 +00:00
Philip.Hazel
f72b753f73
Fix VERSION condition bug.
2015-11-01 16:28:13 +00:00
Philip.Hazel
284d42fa7e
Avoid the need for an integer overflow check in pcre2_substitute() by adding a
...
check for a number greater than the largest capturing group.
2015-10-30 18:25:19 +00:00
Philip.Hazel
890250535b
Use PCRE2_NO_UTF_CHECK for the second and subsequent matches in
...
pcre2_substitute().
2015-10-30 17:41:56 +00:00
Philip.Hazel
efccea98f1
Fix pcre2_substitute(): set zero-terminated length before UTF validity check.
2015-10-30 17:30:03 +00:00
Philip.Hazel
4b242c4c78
Fix regerror() small buffer issues.
2015-10-30 17:17:40 +00:00
Philip.Hazel
4ce7652a0e
Add replication feature for patterns to pcre2test.
2015-10-30 15:20:07 +00:00
Philip.Hazel
d1b4d99bc5
Improve error message for overly-complicated patterns.
2015-10-28 09:59:53 +00:00
Philip.Hazel
9577d9e165
Fix overlong (*MARK) or (*THEN) names bug.
2015-10-28 09:25:31 +00:00
Philip.Hazel
766fbc81d0
Fix PCRE2_NO_AUTO_CAPTURE bug.
2015-10-25 17:35:34 +00:00
Philip.Hazel
8a8d0ced69
Fix spurious error in pcre2test when single-letter modifiers at the end of a line have trailing spaces.
2015-10-22 15:49:54 +00:00
Philip.Hazel
2f542eb1c5
Add attribution for last bug.
2015-10-21 15:59:45 +00:00
Philip.Hazel
94eda7669a
Fix UCP with [[:<]] and [[:>:]] bad compile bug.
2015-10-21 11:29:07 +00:00
Philip.Hazel
836fbb1148
Fix erroneous "\ at end of pattern" errors, introduced by
...
PCRE2_SUBSTITUTE_EXTENDED patch.
2015-10-17 18:29:01 +00:00
Philip.Hazel
3263d44b97
Implement --never-backslash-C
2015-10-17 13:50:56 +00:00
Philip.Hazel
5923caf05e
Fix integer overflow for patterns whose minimum matching length is very, very
...
large.
2015-10-09 16:54:29 +00:00
Philip.Hazel
093412143d
Fix compiler bug for classes such as [\W\p{Any}].
2015-10-09 16:06:53 +00:00
Philip.Hazel
6ae5c36e83
Implement PCRE2_SUBSTITUTE_EXTENDED.
2015-10-07 17:32:48 +00:00
Philip.Hazel
0c70fb3013
Add null_context to pcre2test for testing NULL contexts.
2015-09-23 11:49:03 +00:00
Philip.Hazel
69d61e2fdb
Implement PCRE2_USE_OFFSET_LIMIT and pcre2_set_offset_limit(). No documentation
...
yet.
2015-09-22 11:24:28 +00:00
Philip.Hazel
36db5a4d5f
Implement comment lines in subject strings in pcre2test (and perltest.sh) input files.
2015-09-14 15:10:19 +00:00
Philip.Hazel
297024d65b
Create a suppressions file for valgrind with JIT.
2015-09-11 16:56:47 +00:00
Philip.Hazel
bb68c64c40
Implement #newline_default and adjust testdata and scripts to use it.
2015-09-08 17:01:17 +00:00
Zoltán Herczeg
357dfb7964
Fix two issues in JIT.
2015-09-02 08:35:50 +00:00
Philip.Hazel
d2e87a75af
Implemented PCRE2_ALT_VERBNAMES
2015-08-30 17:47:36 +00:00
Philip.Hazel
fd08e11c1e
Fix pcre2test splitting modifier lists at white space.
2015-08-30 14:11:15 +00:00
Philip.Hazel
170644eca3
Add ${*MARK} feature to pcre2_substitute().
2015-08-29 17:13:09 +00:00
Zoltán Herczeg
e40bc47ae2
Fixed a corner case of range optimization in JIT.
2015-08-26 13:35:58 +00:00
Philip.Hazel
69af3b39a6
Update for added test 14.
2015-08-24 16:31:30 +00:00
Philip.Hazel
3c8164817e
Fix bug in RunTest.bat for new test.
2015-08-24 16:09:39 +00:00
Philip.Hazel
4facdb9613
Fix CMAKE_C_FLAGS setting
2015-08-24 16:04:32 +00:00
Zoltán Herczeg
67764372eb
Fix two assertion fails in JIT found by Karl Skomski.
2015-08-24 09:25:04 +00:00
Zoltán Herczeg
81af149870
Improve first character match in JIT with SSE2 on x86.
2015-08-23 01:54:04 +00:00
Philip.Hazel
ee41aa906f
Runtime UTF checks now take not of the starting offset.
2015-08-18 10:34:05 +00:00
Zoltán Herczeg
1370a49dfe
Match limit check added to recursion.
2015-08-14 09:36:04 +00:00
Zoltán Herczeg
d98800a946
A bug which was introduced by the single character repetition optimization was fixed.
2015-08-13 11:35:38 +00:00
Zoltán Herczeg
d210396121
The JIT compiler should restore the control chain for empty possessive repeats.
2015-08-11 13:20:37 +00:00
Zoltán Herczeg
3ec328fe1b
The JIT compiler should not check repeats after a {0,1} repeat byte code.
2015-08-11 05:30:10 +00:00
Philip.Hazel
f86d8d35fa
Make (*LIMIT_MATCH=) give an error and correct offsets for limit syntax errors.
2015-08-10 16:34:17 +00:00
Zoltán Herczeg
1a3a24016d
Improve the performance of starting single character repetitions in JIT.
2015-08-10 12:28:27 +00:00
Philip.Hazel
8e37b0b3c6
Fix missing non-existent reference test and bad error offsets for bad \g and \k
...
items.
2015-08-09 17:46:35 +00:00
Philip.Hazel
e3d62b0ff8
Re-write recursion handling to fix another compiler bug and make it all less
...
error-prone.
2015-08-09 16:29:35 +00:00
Zoltán Herczeg
c214c54ca0
The JIT compiler did not restore the control verb head in case of *THEN control verbs.
2015-08-08 05:45:17 +00:00
Philip.Hazel
537f8b1a3d
Make -q override -l and -q in pcre2grep for compatibility with other greps.
2015-08-05 17:35:36 +00:00
Zoltán Herczeg
4003ae5911
Fixed an issue when \p{Any} inside an xclass did not read the current character.
2015-08-05 09:04:01 +00:00
Philip.Hazel
b89a448d8d
Add missing integer overflow checks.
2015-08-04 09:13:11 +00:00
Philip.Hazel
3e12e15fe1
Fix incorrect minimum matching length when pattern contains (?| groups.
2015-08-03 13:18:49 +00:00
Philip.Hazel
8269696f57
Fix issues with minimum length finding.
2015-08-01 09:11:28 +00:00
Philip.Hazel
fe0a16fe8f
Make EBCDIC [a-z] type ranges Perl compatible.
2015-07-24 18:18:05 +00:00
Philip.Hazel
1bcfb856f5
Fix pedantic infelicities shown up by clang and a UTF-8 checking overflow bug.
2015-07-24 13:30:50 +00:00
Philip.Hazel
83c7c24b92
Fix bugs for patterns with conditional groups starting with assertions.
2015-07-22 14:34:31 +00:00
Philip.Hazel
e4d630c4af
Fix (?R- not being correctly diagnosed.
2015-07-22 09:29:09 +00:00
Philip.Hazel
0046526d0e
Fix incorrect compilation for repeated conditionals with only one branch.
2015-07-22 09:01:50 +00:00
Philip.Hazel
688151205d
Fix not diagnosis of missing ) for callout with string argument.
2015-07-21 14:03:08 +00:00
Philip.Hazel
01c4647b02
Fix "running for ever" bug for deeply nested [: sequences.
2015-07-21 13:42:14 +00:00
Philip.Hazel
31241914a5
Fix another fuzzer bug.
2015-07-20 10:17:23 +00:00
Zoltán Herczeg
f957e7bfa8
Fix infinite recursion in the JIT compiler when certain patterns when certain patterns are analysed.
2015-07-20 07:38:06 +00:00
Philip.Hazel
21b15d96f2
Fix empty comment (?#) bug
2015-07-17 16:25:21 +00:00
Philip.Hazel
d702527628
Update Unicode tables to 8.0.0.
2015-07-17 15:44:51 +00:00
Philip.Hazel
c1f8a7dfb3
Fix bad compilation of a possessively repeated conditional that could match an
...
empty string.
2015-07-17 15:11:45 +00:00
Philip.Hazel
54f59d3c05
Ignore {1} quantifiers.
2015-07-17 13:41:09 +00:00
Philip.Hazel
5cd731f314
Fix crash due to incorrect pre-pass handling of callouts with string arguments,
...
and tighten up the callout handling.
2015-07-16 17:47:20 +00:00
Philip.Hazel
5700a2382f
Added credit for finding a bug.
2015-07-16 16:15:52 +00:00
Philip.Hazel
3326a72f6d
Move pcre2_find_bracket() into its own module to avoid circular dependency.
2015-07-16 16:11:52 +00:00
Philip.Hazel
328c7920cc
Fix bad processing of (?x)(*MARK) within another group.
2015-07-15 09:34:04 +00:00
Philip.Hazel
098562db96
Fix [[:>:]] when followed by parenthesis buffer overflow.
2015-07-15 09:08:12 +00:00
Philip.Hazel
a972710d68
Fix typos in dftables.c for z/OS.
2015-07-08 08:30:23 +00:00
Philip.Hazel
af23d161eb
Remove unused redundant copy of opcode_possessify table.
2015-07-06 16:07:54 +00:00
Philip.Hazel
be646cb567
Memchr() speed-up for unanchored pattern in 8-bit mode.
2015-07-06 16:05:41 +00:00
Zoltán Herczeg
6f3776bd14
Improve matching speed of patterns starting with + or * in JIT.
2015-07-03 06:46:20 +00:00
Philip.Hazel
865b2d5f6e
Final file tidies for 10.20.
2015-07-02 13:18:14 +00:00
Philip.Hazel
3fc1676b26
Fix memory leak in pcre2grep.
2015-06-30 10:28:59 +00:00
Zoltán Herczeg
c5f27e1c18
JIT should return with error when the compiled pattern requires more stack space than the maximum.
2015-06-28 13:31:24 +00:00
Philip.Hazel
b7550b8f54
Fix [\h] in EBCDIC environments.
2015-06-22 13:40:23 +00:00
Philip.Hazel
bac822ba58
Fix EBCDIC 0x41 omission and give error for \p and \P in a class when not
...
supported.
2015-06-19 16:41:22 +00:00
Philip.Hazel
07a8fdce25
Source and document file tidies for 10.20-RC1.
2015-06-18 16:39:25 +00:00
Zoltán Herczeg
870f975707
Single character repetition in JIT has been improved.
2015-06-16 11:37:19 +00:00
Philip.Hazel
c146059c22
Make \c operate like Perl in EBCDIC environments.
2015-06-13 16:10:14 +00:00
Philip.Hazel
149aa29209
Fix \a and \e in pcre2test, and \a in pcre2_compile, on EBCDIC platforms.
2015-06-12 16:25:23 +00:00
Philip.Hazel
1d44822484
Fix empty string matching bug.
2015-06-09 17:41:45 +00:00
Philip.Hazel
1e6edd2e33
Fix table entry for \l in EBCDIC environments.
2015-06-09 16:33:44 +00:00
Philip.Hazel
ff4553df08
Check for integer overflow in subroutine calls.
2015-06-08 17:51:54 +00:00
Philip.Hazel
c9ac9e23ec
Refactor named group handling by adding a pre-pass that generates a list of
...
named groups with their numbers before the rest of the compiling code is run.
This has simplified the main compiling code and removed some sources of error.
2015-06-03 16:27:47 +00:00
Philip.Hazel
9ce0207f5c
Make pcre2test give an error for \P, \p, and \X after #forbid_utf.
2015-05-20 17:44:17 +00:00
Philip.Hazel
666b3c88cf
Give error for empty subpattern name such as (?'').
2015-05-19 16:48:57 +00:00
Philip.Hazel
78735a5336
Fix buffer overflow for lookbehind with mutually recursive groups.
2015-05-18 17:31:29 +00:00
Philip.Hazel
150f50b673
Fix pcre2grep compile with -std=c99.
2015-05-16 16:52:45 +00:00
Philip.Hazel
472d1c4e62
Fix sanitize=undefined warnings for left shifts of 31.
2015-05-16 16:02:46 +00:00
Philip.Hazel
6f94ece67d
Fix forward reference by name to duplicate group number bug.
2015-05-16 11:01:48 +00:00
Philip.Hazel
56444e9978
Fix buffer overflow for recursive byname back reference when duplicate names
...
exist.
2015-05-15 17:09:01 +00:00
Philip.Hazel
92739ef5d8
Fix repeated condition check by duplicated name bug.
2015-05-08 16:32:28 +00:00