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