Zoltán Herczeg
7650161677
A racing condition is fixed in JIT reported by Mozilla.
2016-05-19 18:09:07 +00:00
Philip.Hazel
8f4e7c84b4
Refactor pcre2posix.c so as not to #include pcre2_internal.h.
2016-05-14 16:35:20 +00:00
Zoltán Herczeg
c8938f7a23
Style updates in JIT.
2016-04-12 11:27:41 +00:00
Philip.Hazel
a65b0997e0
Tidy up patch for Windows binary stdout in pcre2grep.
2016-04-06 08:26:24 +00:00
Zoltán Herczeg
992322039d
Support Android ARM64 cacheflush in JIT. Patch by Tavian Barnes.
2016-04-06 07:18:42 +00:00
Philip.Hazel
c332eaf4f2
Add callout support to pcre2grep
2016-04-01 15:52:08 +00:00
Philip.Hazel
ddcedf0338
pcre2grep: fix \r\r\n problem for Windows, and give buffer size in error
...
message.
2016-04-01 09:15:38 +00:00
Zoltán Herczeg
3e486da3de
JIT compiler update.
2016-03-04 08:51:53 +00:00
Philip.Hazel
0cfea16397
Define snprintf as _snprintf for older MSVC compilers.
2016-02-29 18:31:30 +00:00
Philip.Hazel
0440a8e72a
Avoid "const-correct" warning from MSVC.
2016-02-29 17:43:01 +00:00
Zoltán Herczeg
9d52a9d973
JIT compiler update.
2016-02-29 09:09:40 +00:00
Philip.Hazel
5b543bf660
Fix typo in pcre2_study().
2016-02-28 14:56:50 +00:00
Philip.Hazel
21ca32717f
Further small fix to regerror() overflow handling, to ensure identical output
...
whether or not there is a zero at the end of the buffer.
2016-02-28 13:33:55 +00:00
Philip.Hazel
371bf87af6
Fix pcre2test bug when snprintf() in regerror() does not insert a binary zero.
2016-02-27 12:49:00 +00:00
Philip.Hazel
96926349bc
Implemented pcre2_code_copy().
2016-02-26 18:26:17 +00:00
Zoltán Herczeg
80d7d825e1
JIT style fixes.
2016-02-24 10:17:10 +00:00
Philip.Hazel
c28ed7fd4a
Fix some picky compiler warnings
2016-02-16 10:23:06 +00:00
Zoltán Herczeg
88027b4625
Minor JIT style fixes.
2016-02-15 09:15:49 +00:00
Philip.Hazel
94e07de498
Detect missing closing parentheses during the pre-pass.
2016-02-13 15:30:29 +00:00
Philip.Hazel
6bb132265b
Fix workspace overflow for deep nested parentheses with (*ACCEPT).
2016-02-10 18:24:02 +00:00
Philip.Hazel
78aff8c80f
Fix pcre2test loop when a callout is in an initial lookbehind.
2016-02-06 16:40:59 +00:00
Philip.Hazel
112d5b77cc
Ensure all _free() functions do nothing for NULL, and document this.
2016-02-06 12:45:56 +00:00
Philip.Hazel
26f610a1e5
Detect and warn when pcre2test is linked with an alien POSIX library.
2016-02-03 15:22:01 +00:00
Philip.Hazel
9f75a0f92a
Detect unmatched closing parentheses in the pre-scan to avoid giving incorrect
...
error messages.
2016-02-02 17:22:55 +00:00
Philip.Hazel
4e67c0c9e9
Tidy pcre2demo.c
2016-02-02 16:25:47 +00:00
Philip.Hazel
6c1c817438
Don't set PCRE2_NO_AUTO_CAPTURE when REG_NOSUB is passed to regcomp().
2016-01-31 19:14:15 +00:00
Philip.Hazel
8febd27344
Two pcre2test extensions: quoted literal substrings in hex patterns and
...
detection of unsupported binary zeros in file input.
2016-01-29 18:16:59 +00:00
Philip.Hazel
fd008957d5
Patches to fix tests under Windows.
2016-01-29 15:01:17 +00:00
Philip.Hazel
bebd2d48bf
Final file updates for 10.21 release.
2016-01-12 14:44:34 +00:00
Philip.Hazel
68940c7304
Final file tidies for 8.21-RC1.
2015-12-18 10:35:03 +00:00
Philip.Hazel
dffd559601
File tidies, version updates, etc. for 10.21-RC1
2015-12-17 18:44:06 +00:00
Philip.Hazel
293da188aa
Cast needed for 32-bit environments.
2015-12-17 17:15:19 +00:00
Philip.Hazel
57c44eec15
Fix printing of *MARK names containing binary zeroes in pcre2test.
2015-12-16 18:44:24 +00:00
Philip.Hazel
35e0f55783
Implement PCRE2_SUBSTITUTE_{OVERFLOW_LENGTH,UNKNOWN_UNSET}.
2015-12-12 18:45:40 +00:00
Philip.Hazel
215e2185e4
Update overflow checks in pcre2test to allow for ULONG_MAX==UINT32_MAX.
2015-12-09 17:33:07 +00:00
Philip.Hazel
b34dbecb75
Harden pcre2test against ridiculously large values in modifiers and command
...
line arguments.
2015-12-05 18:17:41 +00:00
Philip.Hazel
2f684a60ed
Implement PCRE2_SUBSTITUTE_UNSET_EMPTY.
2015-12-04 18:39:08 +00:00
Philip.Hazel
38caadff03
Fix typo introduced by ChangeLog 107.
2015-12-04 14:34:35 +00:00
Philip.Hazel
a7c9027ae6
Fix \) in (*verb) "name" bug.
2015-12-03 18:36:36 +00:00
Philip.Hazel
addec0d2ae
Tidy comment
2015-12-03 17:08:23 +00:00
Philip.Hazel
1f9b2a2e4b
Fix /x bug when pattern starts with whitespace followed by (?-x).
2015-12-03 16:58:31 +00:00
Philip.Hazel
d71b70cdf7
Fix issues with NULL characters in patterns.
2015-12-02 17:39:26 +00:00
Philip.Hazel
7b1d9549c6
Fix extended *verb name ignored terminating whitespace bug.
2015-12-01 17:41:24 +00:00
Philip.Hazel
12fc152074
Fix empty \Q\E between an item and a qualifier in auto-callout mode.
2015-11-30 17:31:16 +00:00
Philip.Hazel
1b38451847
Allow for up to 32-bit numbers in the ordin() function in pcre2grep.
2015-11-29 17:45:27 +00:00
Philip.Hazel
e0764cd5fd
Give error for regexec with pmatch=NULL and REG_STARTEND set.
2015-11-29 17:38:12 +00:00
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
c7e9887a65
Make startoffset a synonym of offset in pcre2test.
2015-11-21 16:10:24 +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
Zoltán Herczeg
3485b14a18
Hotfix for [:punct:] in JIT.
2015-11-18 08:01:33 +00:00
Philip.Hazel
c4b8531a8f
Fix [:punct:] bug in UCP mode (matching chars in the range 128-255)
2015-11-17 17:59:35 +00:00
Philip.Hazel
6650a2fd9a
Fix single-character POSIX class bug in UCP mode.
2015-11-17 17:13:43 +00:00
Zoltán Herczeg
c0d0f2f65e
Fix two offset_limit bug in JIT.
2015-11-16 08:30:48 +00:00
Philip.Hazel
7cc0597baa
Re-arrange valgrind code.
2015-11-15 18:55:20 +00:00
Zoltán Herczeg
9006c26361
Support offset limit in JIT.
2015-11-15 05:05:53 +00:00
Philip.Hazel
5ced14bf24
Implement PCRE2_INFO_HASBACKSLASHC.
2015-11-14 17:28:19 +00:00
Philip.Hazel
7a233130ad
Document JIT compile size limit and give more info in pcre2test.
2015-11-14 16:48:32 +00:00
Philip.Hazel
c8ed1e8feb
Paranoid check in regcomp() for bad error code from pcre2_compile().
2015-11-13 17:26:42 +00:00
Philip.Hazel
299e587f9b
Don't split CRLF in pcre2_substitute() when it's a valid newline sequence.
2015-11-13 16:52:26 +00:00
Philip.Hazel
2f8febd4b1
Give match data memory failur in regcomp() instead of regexec()
2015-11-12 18:35:49 +00:00
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
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
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
30170ade3d
Allow expand with posix test.
2015-10-30 16:08:51 +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
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
f16941cdcc
Remove src/config.h, accidentally added to the repo.
2015-10-07 17:37:57 +00:00
Philip.Hazel
6ae5c36e83
Implement PCRE2_SUBSTITUTE_EXTENDED.
2015-10-07 17:32:48 +00:00
Philip.Hazel
6fbfbe9a56
Update generic versions of config.h and pcre2.h.
2015-09-25 16:00:50 +00:00
Philip.Hazel
78daaf557f
Put config files in the repo for those without autotools.
2015-09-24 17:40:38 +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
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
Zoltán Herczeg
ccda7d218f
SSE2 refactor, JIT compiler update.
2015-08-30 05:30:43 +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
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
9150629497
Continue working on SSE2 support.
2015-08-23 09:47:08 +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
b2144d14b6
Add 1 to match limit to support 0 match limit.
2015-08-13 05:57:26 +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
4b48a50281
Remove the text for an error that is no longer used.
2015-08-10 16:17:10 +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
Zoltán Herczeg
d1caa059fc
JIT compiler update: Tile-Gx fixes by Walter Lee
2015-07-31 09:59: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
Zoltán Herczeg
0b809c7de3
Fix typo in JIT.
2015-07-22 06:42:58 +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
c31df29130
Header name change for z/OS.
2015-07-17 14:22:04 +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
a972710d68
Fix typos in dftables.c for z/OS.
2015-07-08 08:30:23 +00:00
Philip.Hazel
d721fd7416
Add code to show EBCDIC code page for native z/OS.
2015-07-06 16:14:04 +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
f01184a3ab
JIT compiler update.
2015-07-03 07:04:45 +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
Zoltán Herczeg
c1355dedc2
Improve star and upto performance in JIT when unicode is disabled.
2015-06-21 05:10:48 +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
Zoltán Herczeg
78ea22d11d
Minor AllAny optimization in JIT.
2015-06-19 10:16:33 +00:00
Zoltán Herczeg
f692e5c45b
Improve xclass matching in JIT.
2015-06-19 10:10:44 +00:00
Zoltán Herczeg
0638a1897e
Minor single character iterator fixes in JIT.
2015-06-19 06:53:36 +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
a68ddd48b5
Improve exact character repeat length check.
2015-06-17 11:32:06 +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
Zoltán Herczeg
bf492e47f6
Warning fixes.
2015-06-01 06:55:17 +00:00
Zoltán Herczeg
f5a63c79bb
JIT compiler update
2015-05-29 12:52:59 +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
150f50b673
Fix pcre2grep compile with -std=c99.
2015-05-16 16:52:45 +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
Zoltán Herczeg
e4dc0407e3
Support alt circumflex in JIT.
2015-04-27 07:02:34 +00:00
Philip.Hazel
2966b067cb
Implement --enable-debug.
2015-04-24 11:14:47 +00:00
Philip.Hazel
4d35b44b43
Fix compatibility issues for \8 and \9.
2015-04-23 17:28:39 +00:00
Zoltán Herczeg
e75aa00591
Fix ARM64 SP alignment issue in JIT.
2015-04-23 13:53:29 +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
Zoltán Herczeg
c8609a72c6
Fix JIT assertion failure.
2015-04-21 07:02:08 +00:00
Zoltán Herczeg
53e25208d3
Improve options passing.
2015-04-20 13:04:02 +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
Zoltán Herczeg
9300cb6418
Set auto-possessify limit to 1000 from 10000 (to match the Changelog).
2015-04-01 13:56:11 +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
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
Zoltán Herczeg
69cda6bc70
Fix JIT compilation of conditional blocks whose assertion is converted to (*FAIL).
2015-03-24 08:43:52 +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
bccfdcb172
Assertion code generator in JIT has been optimized.
2015-03-12 11:21:38 +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
b6bc8c6328
Final file tidies for 10.10 release.
2015-03-06 15:08:29 +00:00
Zoltán Herczeg
4161891b42
Fix compiler errors when JIT is not enabled.
2015-03-06 12:49:18 +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
67800ba810
Final file tidies for 10.10-RC2.
2015-02-26 17:36:29 +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
438e51958a
Fix DECL/DEFN typo that affects Windows.
2015-02-24 14:21:28 +00:00
Zoltán Herczeg
928766f727
JIT compiler update.
2015-02-23 07:50:53 +00:00
Philip.Hazel
d226c5ea4d
Improve error message for pcre2test stack setting failure; also %ld should
...
really be %lu throughout.
2015-02-21 18:53:51 +00:00
Philip.Hazel
5878c2c3a5
Two more 32-bit warnings fixed.
2015-02-21 17:26:24 +00:00
Philip.Hazel
07e25a17df
Fix compiler warnings for pcre2test on 32-bit systems.
2015-02-21 17:25:12 +00:00
Philip.Hazel
49a7eada2d
Final source file tidies for 10.10-RC1
2015-02-20 11:20:40 +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
9059444834
Fix alignement problem in deserialization on 64-bit SPARC.
2015-02-07 16:22:48 +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
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