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
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
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
Philip.Hazel
21b15d96f2
Fix empty comment (?#) bug
2015-07-17 16:25:21 +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
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
865b2d5f6e
Final file tidies for 10.20.
2015-07-02 13:18:14 +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
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
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
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
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
ade67323e7
Fix stack overflow instead of error diagnosis for mutual recursion within
...
lookbehind assertion.
2015-04-01 15:37:54 +00:00
Philip.Hazel
2f265daed0
Tidy the types of some integer variables.
2015-03-31 16:10:01 +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
a4ceadbf47
Fix bugs when (?!) is used as a condition.
2015-03-24 10:21:34 +00:00
Philip.Hazel
b15698b077
Fix data overrun for /(?(?C)/
2015-03-20 12:37:28 +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
baf08a3d37
Support manual callout with string argument at start of condition.
2015-03-12 17:00:18 +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
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
49a7eada2d
Final source file tidies for 10.10-RC1
2015-02-20 11:20:40 +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
ad452f4036
Give an internal error for a bad opcode during auto-possessification. This can
...
stop a loop when compiling an invalid UTF string with PCRE2_NO_UTF_CHECK.
2015-02-06 16:47:15 +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
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
9fcdf2cc6f
Add user data to recursion guard; get ready for RC1 (again)
2014-11-26 16:51:53 +00:00
Philip.Hazel
adc7be2d3a
Get rid of remaining FIXMEs in the code; implement JIT compile timing.
2014-11-12 17:46:02 +00:00
Philip.Hazel
08e3107cbe
Changed jit_stack_alloc to jit_stack_create.
2014-11-03 17:13:00 +00:00
Philip.Hazel
8aa511a98b
Improve test coverage; minor typo in JIT test and other minor buglets fixed.
2014-10-31 12:34:34 +00:00
Philip.Hazel
3989f00461
Convert the special "EBCDIC on an ASCII system" test.
2014-10-26 18:00:19 +00:00
Philip.Hazel
56805a1246
Remove some unused code and a spurious comment and reword one message.
2014-10-25 14:28:43 +00:00
Philip.Hazel
c3799e750f
Tidy a lot of files (remove trailing spaces)
2014-10-20 17:28:49 +00:00
Philip.Hazel
0ec351e95e
Create default compile and match contexts as constant static data.
2014-10-11 17:05:18 +00:00
Philip.Hazel
623b497851
Fix "first code unit" bug.
2014-10-10 16:16:44 +00:00
Zoltán Herczeg
0907fc6e92
Support for JIT code free and small partial match optimization.
2014-10-09 10:06:19 +00:00
Philip.Hazel
cc463c76a3
Call _pcre2_jit_free from pcre2_code_free.
2014-10-07 13:07:20 +00:00
Philip.Hazel
ccd5ac9014
Save compile-time work when PCRE2_NO_START_OPTIMIZE is set.
2014-10-03 09:47:59 +00:00
Philip.Hazel
eee8530add
API documentation and a lot of little related changes to the code.
2014-09-19 07:43:39 +00:00
Philip.Hazel
7b2707fcf7
Make /()a/ set the "first character must be" data.
2014-08-30 16:21:17 +00:00
Philip.Hazel
7858fa702d
Implement (*NOTEMPTY) and (?(VERSION= features.
2014-08-26 11:46:21 +00:00
Philip.Hazel
7efba85b56
Change lengths to PCRE2_SIZE and revise OP_RECURSE processing.
2014-08-16 09:46:58 +00:00
Philip.Hazel
b6b9087081
Multi-config tests (without JIT) now work.
2014-08-10 16:09:24 +00:00
Philip.Hazel
b7c5d02b3d
Fix stack overflow bug, copying fix from PCRE1.
2014-08-08 15:36:18 +00:00
Philip.Hazel
f40fba5dc8
Adjust tests for PCRE/Perl anomalies in character properties & fix one bug.
2014-08-06 17:33:14 +00:00
Philip.Hazel
e022475d54
All tests except JIT and save/reload are implemented.
2014-08-05 16:51:32 +00:00
Philip.Hazel
8792477279
Add more tests.
2014-08-03 17:50:08 +00:00
Philip.Hazel
2addfec25d
Test 4 installed (combines old tests 4 and 6)
2014-07-25 16:35:51 +00:00
Philip.Hazel
017b6a1624
Tests 1 and 2 are converted (but without save/restore).
2014-07-24 16:32:38 +00:00
Philip.Hazel
7854bf34b3
Implement pcre2grep and its test.
2014-07-15 08:46:12 +00:00
Philip.Hazel
0188214a63
Compiling with --disalbe-stack-for-recursion is working. Introduce PCRE2_OFFSET
...
for offset values.
2014-07-04 16:26:09 +00:00
Philip.Hazel
38b570f99d
The pcre2_match() function's basic facilities are working (though hardly
...
tested).
2014-06-28 14:23:18 +00:00
Philip.Hazel
06aa11b428
Miscellanous name tidies.
2014-06-24 15:47:33 +00:00
Philip.Hazel
5008860489
Auto-possession and studying added; compile-time errors refactored.
2014-06-21 12:39:48 +00:00
Philip.Hazel
1abd5a7f8d
Basic pcre2_compile() is working (no study, no auto-possess yet).
2014-06-14 18:29:51 +00:00
Philip.Hazel
8e5a5acf51
As far as pcre2test can usefully go without a real library.
2014-05-13 15:58:29 +00:00
Philip.Hazel
225992aa3a
Further work on pcre2test (can now display compiled code).
2014-05-13 11:20:03 +00:00
Philip.Hazel
9812ca8b0a
More groundwork for pcre2test: POSIX support.
2014-04-30 16:55:24 +00:00
Philip.Hazel
06ba06c763
Refactor the framework for revised API.
2014-04-18 15:37:56 +00:00
Philip.Hazel
f4174bab90
Create dummy framework for all functions and programs.
2014-03-07 17:28:52 +00:00