Commit Graph

254 Commits

Author SHA1 Message Date
zherczeg
4a2cbee22e JIT should return with error when the compiled pattern requires more stack space than the maximum. 2015-06-28 13:31:24 +00:00
ph10
4011f01e4b 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
ph10
9b9465f35d Make \c operate like Perl in EBCDIC environments. 2015-06-13 16:10:14 +00:00
ph10
5f11533fc5 Fix empty string matching bug. 2015-06-09 17:41:45 +00:00
ph10
483e0bc706 Check for integer overflow in subroutine calls. 2015-06-08 17:51:54 +00:00
ph10
a0f4752ffa Re-organize tests that didn't work with LINK_SIZE=3. 2015-06-03 17:18:06 +00:00
ph10
7638ce507c 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
ph10
f9ccf6dea5 Give error for empty subpattern name such as (?''). 2015-05-19 16:48:57 +00:00
ph10
35849de261 Fix buffer overflow for lookbehind with mutually recursive groups. 2015-05-18 17:31:29 +00:00
ph10
60d1b8bb8f Maintenance on test after running ManyConfigTests. 2015-05-17 17:44:21 +00:00
ph10
cd01b678f0 Fix forward reference by name to duplicate group number bug. 2015-05-16 11:01:48 +00:00
ph10
b7b3192b06 Fix buffer overflow for recursive byname back reference when duplicate names
exist.
2015-05-15 17:09:01 +00:00
ph10
6b0a3653d3 Fix repeated condition check by duplicated name bug. 2015-05-08 16:32:28 +00:00
ph10
08a8f6083e Re-do previous patch and fix new forward-reference-with-quantification bugs. 2015-05-06 16:51:25 +00:00
ph10
86a54875eb Fix bug in previous fix. 2015-05-05 18:46:51 +00:00
ph10
6e7ec542b2 Fix recursive forward reference bug. 2015-05-03 16:46:56 +00:00
ph10
d568023aec Fix compatibility issues for \8 and \9. 2015-04-23 17:28:39 +00:00
ph10
e0e6be1f66 Implement PCRE2_ALT_CIRCUMFLEX. 2015-04-22 17:39:25 +00:00
ph10
6f272dd199 Fix replication bug in pcre2test. 2015-04-21 08:34:10 +00:00
ph10
68fe4373fd Implement PCRE2_NEVER_BACKSLASH_C. 2015-04-13 17:29:05 +00:00
ph10
29ebf9954c Fix very slow find_minlength when mutual recursion is present. 2015-04-13 09:13:39 +00:00
ph10
af2246965b Fix other cases where backtracking after \C could cause a crash. 2015-04-08 16:53:22 +00:00
ph10
3a069051d0 Fix backtracking bug for \C\X* in UTF mode. 2015-04-08 16:33:58 +00:00
ph10
bf5d44cfd7 Fix handling of global matching in pcre2test when a lookbehind assertion
contains \K.
2015-04-06 12:16:36 +00:00
ph10
98d8aba926 Fix pcre2grep loop provoked by \K in a lookbehind assertion in a non-anchored
pattern.
2015-04-03 11:14:19 +00:00
ph10
23795ac7b9 Fix stack overflow instead of error diagnosis for mutual recursion within
lookbehind assertion.
2015-04-01 15:37:54 +00:00
ph10
a02d3b152e Fix diagnosis of negative relative references to non-existent groups. 2015-03-31 15:01:25 +00:00
ph10
d71e5fe980 Fix bad compile for possessive quantifier on group containing a subroutine
reference.
2015-03-29 17:34:04 +00:00
ph10
a030a8f9c8 Fix non-diagnosis of syntax error for (?(?< when not followed by ! or =. 2015-03-29 15:40:45 +00:00
ph10
86f783c60d Fix comment between recursion and quantifier bug. 2015-03-29 11:15:32 +00:00
ph10
1a1781e0c9 Fix mutual recursion inside other parentheses stack overflow bug. 2015-03-27 17:45:02 +00:00
ph10
625fd31e3e Fix bad memory computation for "(*UTF)[\S\V\H]" (a pattern with a negative
class (\S) and explicit wide characters).
2015-03-25 19:26:27 +00:00
ph10
698f0a04ee Add recursion limit to auto-possessification code. 2015-03-25 17:01:04 +00:00
ph10
f63b12103c Fix bugs when (?!) is used as a condition. 2015-03-24 10:21:34 +00:00
ph10
f8d388a20d Implement pcre2_callout_enumerate(). 2015-03-23 15:52:08 +00:00
ph10
6be0761133 Fix data overrun for /(?(?C)/ 2015-03-20 12:37:28 +00:00
ph10
42227e4aa1 Test binary zero in callout strings; change offset to PCRE2_SIZE; some
documentation tidies.
2015-03-16 15:38:26 +00:00
ph10
f2b9e79e29 Add string offset within the pattern to the data passed to a callout with a
string argument.
2015-03-14 12:20:18 +00:00
ph10
4f8d902e79 Fix crash in pcre2test for some callouts with string arguments. 2015-03-14 10:47:43 +00:00
ph10
adc92df2b1 Support manual callout with string argument at start of condition. 2015-03-12 17:00:18 +00:00
zherczeg
a5a121214a Adding more callout with string tests. 2015-03-12 11:49:29 +00:00
ph10
ace9862cdb Code for callouts with string arguments. Documentation not yet updated. 2015-03-11 17:44:16 +00:00
ph10
dd5bdb7976 Fix bad compile of patterns like /[A-`]/i,utf where the range contains
characters with multiple other cases and the ranges adjoin.
2015-03-06 11:57:06 +00:00
zherczeg
af174afe3b Remove computing the JIT read-only data size in advance and use on-demand memory allocation. 2015-03-06 07:41:36 +00:00
ph10
925a473b61 Fix compile error for forward reference subroutine call within a group that
also contained a recursive back reference.
2015-03-01 18:34:05 +00:00
ph10
0e94e76689 Fix "internal error" bug caused by patterns like "((?2){0,1999}())?". 2015-02-28 11:31:51 +00:00
ph10
fb0a459116 Add RunTest.bat for testing under Windows, with appropriate test files. 2015-02-25 17:19:28 +00:00
ph10
b538c62f6b Fix bug for groups like (a)*+ (possessive, zero minimum) when the ovector was
too small to capture.
2015-02-11 10:06:09 +00:00
ph10
d23cd67170 Fix replacement bug in pcre2_substitute(). 2015-02-10 12:48:45 +00:00
ph10
401ff788cb Missed test for mutual recursion after crash fixed. 2015-02-08 17:05:12 +00:00
ph10
3e42c1f229 Fix compile loop for subroutine reference after class such as [^\ff]. 2015-02-06 17:51:55 +00:00
ph10
3fefed1e76 Test output needed updating. 2015-02-06 09:29:31 +00:00
ph10
9d37924908 Disallow quantification of assertion conditions, for Perl compatibility (and in
any case it didn't always work).
2015-01-28 17:31:11 +00:00
ph10
263f74f5f2 Fix mutual back reference recursion segfault. 2015-01-28 11:28:53 +00:00
ph10
6f2909052b Fix incorrect size calculation when a reference to a duplicate name occurs
in a part of the pattern where PCRE2_DUPNAMES is not set.
2015-01-27 17:21:32 +00:00
ph10
234c602fe1 Implement (*NO_JIT) 2015-01-26 14:57:27 +00:00
ph10
f16fa66e2a Add serialization functions and tests with updated pcre2test. Fix
PCRE2_INFO_SIZE issues.
2015-01-23 16:51:47 +00:00
ph10
3056785d93 Fix conditional group backreference bug. 2015-01-13 16:01:24 +00:00
ph10
201a0469e7 Add PCRE2_NO_DOTSTAR_ANCHOR and revise documentation for .* optimizing. 2015-01-02 17:09:16 +00:00
ph10
27a97f9768 Improvements for substring handling with partial matches. 2014-12-22 17:33:10 +00:00
ph10
dc005bc72d Update and improve substring handling and its documentation. 2014-12-14 17:17:06 +00:00
ph10
9f6530cd43 Improve interfaces to substring functions, and fix bugs. 2014-12-13 17:43:26 +00:00
ph10
e8653da07b More documentation and test updates. 2014-11-23 18:38:38 +00:00
ph10
a471ef8af3 Fix zero-repeated assertion-as-condition bug. 2014-11-19 11:17:20 +00:00
ph10
292361778a Further substitution tests (code and data), and more documentation. 2014-11-14 18:41:20 +00:00
ph10
ae8f966fa6 Substitution tests and documentation. 2014-11-12 16:57:56 +00:00
ph10
bb0ed6389e Code for pcre2_substitute(), and tests. 2014-11-11 10:19:23 +00:00
ph10
b3e8a9f1aa Fix bug for (*ACCEPT) inside a capturing group. 2014-11-05 16:05:19 +00:00
ph10
09deb5ee68 Changed jit_stack_alloc to jit_stack_create. 2014-11-03 17:13:00 +00:00
ph10
a7c108fd89 Add tests for JIT fast path. 2014-11-02 15:34:31 +00:00
ph10
70f376de32 Improve test coverage; minor typo in JIT test and other minor buglets fixed. 2014-10-31 12:34:34 +00:00
ph10
5a946255b8 Convert the special "EBCDIC on an ASCII system" test. 2014-10-26 18:00:19 +00:00
ph10
58de593032 Partial documentation and partial code tweaks. 2014-10-14 16:23:57 +00:00
ph10
349ae13421 The tests all run clean with JIT. 2014-10-11 15:56:25 +00:00
ph10
700f8879fe Fix match_unset_backref bug. 2014-10-10 16:42:03 +00:00
ph10
b55e3fb8f8 Fix "first code unit" bug. 2014-10-10 16:16:44 +00:00
ph10
11760edd91 Remove leftchar/rightchar from the public API. 2014-10-10 11:55:28 +00:00
ph10
b45ad67e96 Work on the tests for JIT. 2014-10-06 17:28:42 +00:00
ph10
2c25b6fcbf Impose a minimum of 1 for the number of pairs in the ovector. 2014-10-05 17:55:25 +00:00
ph10
e919b59962 Save compile-time work when PCRE2_NO_START_OPTIMIZE is set. 2014-10-03 09:47:59 +00:00
ph10
a6673eed86 Remove the ability to change newlines and \R at match time. 2014-10-01 17:02:33 +00:00
ph10
3cf2d76de6 Make PCRE2_NO_START_OPTIMIZE a compile-only option. 2014-10-01 16:16:27 +00:00
ph10
ad496af8a1 API documentation and a lot of little related changes to the code. 2014-09-19 07:43:39 +00:00
ph10
63b805a7e6 Make /()a/ set the "first character must be" data. 2014-08-30 16:21:17 +00:00
ph10
8c0c55e3e6 Refactor match_ref() and fix UTF-8 caseless bug. 2014-08-27 16:59:56 +00:00
ph10
a67ef3cade Implement (*NOTEMPTY) and (?(VERSION= features. 2014-08-26 11:46:21 +00:00
ph10
b2039649e4 Implement the "rightchar" feature of match data. 2014-08-19 17:07:22 +00:00
ph10
310bcccfb8 Change lengths to PCRE2_SIZE and revise OP_RECURSE processing. 2014-08-16 09:46:58 +00:00
ph10
957fe35ba7 Remove save/load from pcre2test, as they will not be implemented just yet (if
at all).
2014-08-12 17:41:11 +00:00
ph10
0a3956d7fc Don't say "No options" or "No first/last code unit"; simplifies pcre2test
output.
2014-08-10 16:32:58 +00:00
ph10
1b7cf50df6 Multi-config tests (without JIT) now work. 2014-08-10 16:09:24 +00:00
ph10
1b9aeb5e0a Test tweak. 2014-08-08 18:21:05 +00:00
ph10
db66b2b89a Preparatory work for JIT. 2014-08-08 18:18:18 +00:00
ph10
546d3f432d Fix stack overflow bug, copying fix from PCRE1. 2014-08-08 15:36:18 +00:00
ph10
391ccf7ce0 Adjust tests for PCRE/Perl anomalies in character properties & fix one bug. 2014-08-06 17:33:14 +00:00
ph10
36964b0470 Test tidies and additional tests. 2014-08-06 09:35:11 +00:00
ph10
55349aade7 All tests except JIT and save/reload are implemented. 2014-08-05 16:51:32 +00:00
ph10
6d0e162711 Changes to pcre2test single-letter modifiers. 2014-08-03 18:15:32 +00:00
ph10
17a8e5a0f3 Add more tests. 2014-08-03 17:50:08 +00:00
ph10
e8a11f17e4 Test 4 installed (combines old tests 4 and 6) 2014-07-25 16:35:51 +00:00
ph10
80a150c2f8 Tidy up test 3. 2014-07-25 09:36:50 +00:00
ph10
c872f83d9c Test 3 (locale test) converted. 2014-07-24 18:01:11 +00:00
ph10
ed57ee6028 Tests 1 and 2 are converted (but without save/restore). 2014-07-24 16:32:38 +00:00
ph10
0ae00b45c9 Implement pcre2grep and its test. 2014-07-15 08:46:12 +00:00