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
be7366f6f0
Tidied up a lot of comments in the test files.
2015-09-16 16:49:48 +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
cdf07ab585
Complete escape processing for PCRE2_ALT_VERBNAMES
2015-09-01 17:32:42 +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
67764372eb
Fix two assertion fails in JIT found by Karl Skomski.
2015-08-24 09:25: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
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
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
76a2e62669
Maintenance on tests for Perl compatibility
2015-08-03 17:25:55 +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
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
7b4b853b81
Correct test for previous bugfix.
2015-07-17 15:18:17 +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
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
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
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
c146059c22
Make \c operate like Perl in EBCDIC environments.
2015-06-13 16:10:14 +00:00
Philip.Hazel
1d44822484
Fix empty string matching bug.
2015-06-09 17:41:45 +00:00
Philip.Hazel
ff4553df08
Check for integer overflow in subroutine calls.
2015-06-08 17:51:54 +00:00
Philip.Hazel
4c0414c813
Re-organize tests that didn't work with LINK_SIZE=3.
2015-06-03 17:18:06 +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
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
ba8f1d8002
Maintenance on test after running ManyConfigTests.
2015-05-17 17:44:21 +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
Philip.Hazel
e653c5f142
Re-do previous patch and fix new forward-reference-with-quantification bugs.
2015-05-06 16:51:25 +00:00
Philip.Hazel
c420d11041
Fix bug in previous fix.
2015-05-05 18:46:51 +00:00
Philip.Hazel
d5191510db
Fix recursive forward reference bug.
2015-05-03 16:46:56 +00:00
Philip.Hazel
4d35b44b43
Fix compatibility issues for \8 and \9.
2015-04-23 17:28:39 +00:00
Philip.Hazel
d1a13b8e2e
Implement PCRE2_ALT_CIRCUMFLEX.
2015-04-22 17:39:25 +00:00
Philip.Hazel
fe2733263d
Fix replication bug in pcre2test.
2015-04-21 08:34:10 +00:00
Philip.Hazel
e47a6ebe87
Implement PCRE2_NEVER_BACKSLASH_C.
2015-04-13 17:29:05 +00:00
Philip.Hazel
3e1748390b
Fix very slow find_minlength when mutual recursion is present.
2015-04-13 09:13:39 +00:00
Philip.Hazel
f123833bdb
Fix other cases where backtracking after \C could cause a crash.
2015-04-08 16:53:22 +00:00
Philip.Hazel
aa8ee3ded5
Fix backtracking bug for \C\X* in UTF mode.
2015-04-08 16:33:58 +00:00
Philip.Hazel
7105d249f6
Fix handling of global matching in pcre2test when a lookbehind assertion
...
contains \K.
2015-04-06 12:16:36 +00:00
Philip.Hazel
cda8384a95
Fix pcre2grep loop provoked by \K in a lookbehind assertion in a non-anchored
...
pattern.
2015-04-03 11:14:19 +00:00
Philip.Hazel
ade67323e7
Fix stack overflow instead of error diagnosis for mutual recursion within
...
lookbehind assertion.
2015-04-01 15:37:54 +00:00
Philip.Hazel
6a2cb0d774
Fix diagnosis of negative relative references to non-existent groups.
2015-03-31 15:01:25 +00:00
Philip.Hazel
2327a5860b
Fix bad compile for possessive quantifier on group containing a subroutine
...
reference.
2015-03-29 17:34:04 +00:00
Philip.Hazel
63cab0dba9
Fix non-diagnosis of syntax error for (?(?< when not followed by ! or =.
2015-03-29 15:40:45 +00:00
Philip.Hazel
99bb61e903
Fix comment between recursion and quantifier bug.
2015-03-29 11:15:32 +00:00
Philip.Hazel
6b6e611b39
Fix mutual recursion inside other parentheses stack overflow bug.
2015-03-27 17:45:02 +00:00
Philip.Hazel
cd85fae3c6
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
Philip.Hazel
a066d12022
Add recursion limit to auto-possessification code.
2015-03-25 17:01:04 +00:00
Philip.Hazel
a4ceadbf47
Fix bugs when (?!) is used as a condition.
2015-03-24 10:21:34 +00:00
Philip.Hazel
4e61019ffe
Implement pcre2_callout_enumerate().
2015-03-23 15:52:08 +00:00
Philip.Hazel
b15698b077
Fix data overrun for /(?(?C)/
2015-03-20 12:37:28 +00:00
Philip.Hazel
aa8d7342da
Test binary zero in callout strings; change offset to PCRE2_SIZE; some
...
documentation tidies.
2015-03-16 15:38:26 +00:00
Philip.Hazel
15e034c9c2
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
Philip.Hazel
b2c67082bd
Fix crash in pcre2test for some callouts with string arguments.
2015-03-14 10:47:43 +00:00
Philip.Hazel
baf08a3d37
Support manual callout with string argument at start of condition.
2015-03-12 17:00:18 +00:00
Zoltán Herczeg
e43b3d435b
Adding more callout with string tests.
2015-03-12 11:49:29 +00:00
Philip.Hazel
d0cf279d87
Code for callouts with string arguments. Documentation not yet updated.
2015-03-11 17:44:16 +00:00
Philip.Hazel
54396a364d
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
Zoltán Herczeg
94802eb0d9
Remove computing the JIT read-only data size in advance and use on-demand memory allocation.
2015-03-06 07:41:36 +00:00
Philip.Hazel
c372df5dce
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
Philip.Hazel
ea03932668
Fix "internal error" bug caused by patterns like "((?2){0,1999}())?".
2015-02-28 11:31:51 +00:00
Philip.Hazel
20c75b2f42
Add RunTest.bat for testing under Windows, with appropriate test files.
2015-02-25 17:19:28 +00:00
Philip.Hazel
3d9cc76a52
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
Philip.Hazel
154bc83cb5
Fix replacement bug in pcre2_substitute().
2015-02-10 12:48:45 +00:00
Philip.Hazel
e8435bc006
Missed test for mutual recursion after crash fixed.
2015-02-08 17:05:12 +00:00
Philip.Hazel
2e36497404
Fix compile loop for subroutine reference after class such as [^\ff].
2015-02-06 17:51:55 +00:00
Philip.Hazel
a398ae3bef
Test output needed updating.
2015-02-06 09:29:31 +00:00
Philip.Hazel
0011aaa712
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
Philip.Hazel
6c8945b8d8
Fix mutual back reference recursion segfault.
2015-01-28 11:28:53 +00:00
Philip.Hazel
911b800984
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
Philip.Hazel
ca77bdd5c4
Implement (*NO_JIT)
2015-01-26 14:57:27 +00:00
Philip.Hazel
5438fc8a6a
Add serialization functions and tests with updated pcre2test. Fix
...
PCRE2_INFO_SIZE issues.
2015-01-23 16:51:47 +00:00
Philip.Hazel
d4daaf966d
Fix conditional group backreference bug.
2015-01-13 16:01:24 +00:00
Philip.Hazel
5a18651441
Add PCRE2_NO_DOTSTAR_ANCHOR and revise documentation for .* optimizing.
2015-01-02 17:09:16 +00:00
Philip.Hazel
b8dbae1474
Improvements for substring handling with partial matches.
2014-12-22 17:33:10 +00:00
Philip.Hazel
cb8865d247
Update and improve substring handling and its documentation.
2014-12-14 17:17:06 +00:00
Philip.Hazel
a85d15cbd1
Improve interfaces to substring functions, and fix bugs.
2014-12-13 17:43:26 +00:00