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
11e0001b14
Fix wide character problem with negated POSIX ascii and xdigit class items.
2015-11-20 16:55:36 +00:00
Philip.Hazel
6650a2fd9a
Fix single-character POSIX class bug in UCP mode.
2015-11-17 17:13:43 +00:00
Philip.Hazel
5ced14bf24
Implement PCRE2_INFO_HASBACKSLASHC.
2015-11-14 17:28:19 +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
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
ddf5f0532b
Correct comments.
2015-11-09 17:09:00 +00:00
Philip.Hazel
8dcd23238a
Adjust tests for workspace overflow and relevant comments in pcre2_compile.c
2015-11-08 14:41:34 +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
efc135b261
Fix out-of-date comment.
2015-11-06 17:52:41 +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
37e9ea2331
Fix buglet in recent name length patch.
2015-11-03 20:09:33 +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
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
f72b753f73
Fix VERSION condition bug.
2015-11-01 16:28:13 +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
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
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
69d61e2fdb
Implement PCRE2_USE_OFFSET_LIMIT and pcre2_set_offset_limit(). No documentation
...
yet.
2015-09-22 11:24:28 +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
ee41aa906f
Runtime UTF checks now take not of the starting offset.
2015-08-18 10:34:05 +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
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