Philip.Hazel
|
7eb23f423e
|
Final file tidies for 10.36
|
2020-12-04 14:30:03 +00:00 |
Zoltán Herczeg
|
d19789c251
|
Fix ARM64 compilation warning in JIT.
|
2020-11-13 08:04:06 +00:00 |
Philip.Hazel
|
000bbf2ea7
|
File tidies for 10.36-RC1
|
2020-11-06 17:27:35 +00:00 |
Zoltán Herczeg
|
fb54d81528
|
JIT compiler update.
|
2020-11-03 13:20:09 +00:00 |
Zoltán Herczeg
|
2451870e3c
|
Fixed a word boundary check bug in JIT when partial matching is enabled.
|
2020-10-27 08:16:04 +00:00 |
Zoltán Herczeg
|
37b76d8609
|
JIT compiler update.
|
2020-10-19 06:20:18 +00:00 |
Philip.Hazel
|
fff544a1e9
|
Fix potential memory leak in error situation in recent new code.
|
2020-10-06 08:04:40 +00:00 |
Philip.Hazel
|
81da2b97e3
|
pcre2grep update: -m and $x{..}, $o{..} escapes. Also some doc updates.
|
2020-10-04 16:34:31 +00:00 |
Zoltán Herczeg
|
3bdc76e4f3
|
Fixed a bug in character set matching when JIT is enabled.
|
2020-09-19 03:49:32 +00:00 |
Philip.Hazel
|
f8cbb1f58d
|
Fix Bugzilla #2642: no match bug in 8-bit mode for caseless invalid utf
matching.
|
2020-09-15 14:36:23 +00:00 |
Philip.Hazel
|
a2f0fd01c7
|
Update pcre2test to check delimiters after #perltest and fix some in test 1.
|
2020-09-14 15:39:39 +00:00 |
Zoltán Herczeg
|
384620a172
|
JIT compiler update.
|
2020-08-27 06:19:17 +00:00 |
Zoltán Herczeg
|
3d317692ac
|
Fix an early fail optimization issue and a buffer overread in JIT.
|
2020-07-15 04:35:32 +00:00 |
Philip.Hazel
|
0ad89ab06d
|
Fix read overflow for invalid VERSION test with one fractional digit at the end
of a pattern. Fixes ClusterFuzz 23779.
|
2020-06-29 15:35:49 +00:00 |
Philip.Hazel
|
3faff02596
|
Add cast to prevent a compiler warning.
|
2020-06-05 16:11:01 +00:00 |
Zoltán Herczeg
|
fda3221597
|
Guard update after r1260.
|
2020-06-02 16:54:25 +00:00 |
Zoltán Herczeg
|
0652de5597
|
Add SIMD support for fast forward newline in JIT.
|
2020-06-02 10:54:37 +00:00 |
Zoltán Herczeg
|
e0c6029a62
|
Fix inifinite loop when a single byte newline is searched in JIT.
|
2020-05-29 14:20:23 +00:00 |
Philip.Hazel
|
768c7fe67e
|
Final file tidies for 10.35.
|
2020-05-09 15:47:41 +00:00 |
Zoltán Herczeg
|
018044a54e
|
Force match limit for JIT tests.
|
2020-05-06 11:18:31 +00:00 |
Philip.Hazel
|
56c4bf9095
|
Check for memfd_create in configuration files.
|
2020-04-28 15:03:58 +00:00 |
Philip.Hazel
|
ce558bbff1
|
Second attempt at getting rid of gcc 10 warning.
|
2020-04-24 15:36:53 +00:00 |
Philip.Hazel
|
5ec5c45423
|
Added tests for __attribute__((uninitialized)) to both the configure and
CMake build files. Used to disable initialization of the match stack frames
vector (clang has an automatic initialization feature).
|
2020-04-23 16:50:45 +00:00 |
Philip.Hazel
|
ca55d0be6b
|
Avoid using [-1] as a suffix in pcre2test as it can provoke a compiler warning.
|
2020-04-23 15:41:23 +00:00 |
Philip.Hazel
|
8b3f8af535
|
File tidies for 10.35-RC1 release candidate.
|
2020-04-15 16:34:36 +00:00 |
Zoltán Herczeg
|
cf670e3bb9
|
JIT compiler update.
|
2020-04-14 05:04:32 +00:00 |
Philip.Hazel
|
c472f3f91a
|
Update to Unicode 13.0.0.
|
2020-03-25 17:18:33 +00:00 |
Philip.Hazel
|
f988433788
|
Fix resource leak in pcre2test introduced by recent patch.
|
2020-03-24 17:25:58 +00:00 |
Philip.Hazel
|
8057c3c8b9
|
Renamed dftables as pcre2_dftables and enable it to write the tables in binary.
Update documentation about character tables.
|
2020-03-20 18:09:59 +00:00 |
Zoltán Herczeg
|
953d4e9c95
|
Minor improvements for single character iterators in JIT.
|
2020-03-10 14:42:41 +00:00 |
Zoltán Herczeg
|
0d0d954bbd
|
Fix issues in the early fail optimization.
|
2020-03-06 09:23:10 +00:00 |
Zoltán Herczeg
|
21c40e638b
|
Rework early fail optimization in JIT.
|
2020-03-05 07:58:49 +00:00 |
Zoltán Herczeg
|
106d9d3a25
|
Improve memory clearing in JIT.
|
2020-03-02 08:52:01 +00:00 |
Zoltán Herczeg
|
325908279e
|
Support more accelerated repeat cases in JIT.
|
2020-02-27 08:35:14 +00:00 |
Philip.Hazel
|
3155a6951f
|
Fix bugs in new UCP casing code for back references and characters with more
than 2 cases.
|
2020-02-26 16:53:39 +00:00 |
Zoltán Herczeg
|
305e273e99
|
Follow ucp changes in JIT.
|
2020-02-26 10:18:43 +00:00 |
Philip.Hazel
|
68f9c49517
|
Fix bug introduced in recent UCP changes (writing outside starting code unit
bitmap for non-UTF caseless character U+00DF).
|
2020-02-25 16:47:36 +00:00 |
Philip.Hazel
|
3be538015b
|
Fix bad lookbehind compilation when preceded by a DEFINE group.
|
2020-02-24 17:29:00 +00:00 |
Philip.Hazel
|
f50ee03f5d
|
Fix bug in UTF-16 checker returning wrong offset for missing low surrogate.
|
2020-02-24 15:39:56 +00:00 |
Zoltán Herczeg
|
a3057bbecd
|
Implement simd support for requested character in JIT.
|
2020-02-24 05:26:15 +00:00 |
Philip.Hazel
|
4a7dfab0ec
|
Unicode upper/lower casing is now used when UCP is set, even if UTF is not set.
This is not yet documented, and it not yet implemented in JIT.
|
2020-02-23 16:40:05 +00:00 |
Zoltán Herczeg
|
d0666136c9
|
JIT compiler update.
|
2020-02-21 07:44:04 +00:00 |
Zoltán Herczeg
|
c39fb3a9e1
|
Remove hackings in JIT.
|
2020-02-20 08:57:39 +00:00 |
Zoltán Herczeg
|
c21bd97754
|
Fix a crash which occurs when the character type of an invalid UTF character is decoded in JIT.
|
2020-02-20 07:42:47 +00:00 |
Philip.Hazel
|
a57787b7cd
|
Fix problems with new PCRE2_SUBSTITUTE_MATCHED code.
|
2020-02-16 17:46:40 +00:00 |
Zoltán Herczeg
|
697cf5f602
|
Fix control verb chain restoration issue in JIT.
|
2020-02-10 10:18:01 +00:00 |
Zoltán Herczeg
|
d71dc302a5
|
Fix compiler warning on ARM64 with JIT.
|
2020-01-31 10:09:38 +00:00 |
Zoltán Herczeg
|
ed8a3146b9
|
JIT compiler update.
|
2020-01-28 14:13:06 +00:00 |
Philip.Hazel
|
b040e2e1cd
|
Limit function recursion in pcre2_study to avoid stack overflow issues.
|
2020-01-27 10:28:19 +00:00 |
Philip.Hazel
|
3a6b4948d1
|
Fix bug in processing (?(DEFINE)...) within lookbehind assertions.
|
2020-01-26 15:31:27 +00:00 |
Philip.Hazel
|
9e960f5465
|
Ensure a newline after the final line in a file is output by pcre2grep.
|
2020-01-25 15:50:44 +00:00 |
Philip.Hazel
|
9e8c98587f
|
Avoid compiler "fall through" warning.
|
2020-01-24 15:17:15 +00:00 |
Zoltán Herczeg
|
0a6ca6d420
|
Support napla and naplb in JIT when no control verbs are in the assertion.
|
2020-01-24 12:40:07 +00:00 |
Zoltán Herczeg
|
09984bb0e4
|
The JIT stack should be freed when the low-level stack allocation fails.
|
2020-01-24 08:28:23 +00:00 |
Philip.Hazel
|
e8d70e2459
|
Implement PCRE2_SUBSTITUTE_REPLACEMENT_ONLY.
|
2020-01-22 17:50:12 +00:00 |
Zoltán Herczeg
|
bf4cd8212f
|
Fix *THEN verbs in lookahead assertions in JIT.
|
2020-01-11 15:28:15 +00:00 |
Philip.Hazel
|
5ba5230b82
|
Allow real repetition of assertions.
|
2020-01-01 12:07:02 +00:00 |
Philip.Hazel
|
ac4ab7186d
|
Add (?* and (?<* synonyms for non-atomic lookarounds.
|
2019-12-28 13:53:59 +00:00 |
Philip.Hazel
|
d170829b26
|
Implement PCRE2_SUBSTITUTE_MATCHED.
|
2019-12-27 13:35:17 +00:00 |
Philip.Hazel
|
777582d4de
|
Avoid some VS compiler warnings.
|
2019-12-26 15:10:26 +00:00 |
Philip.Hazel
|
f3fd8b18cb
|
Implement PCRE2_SUBSTITUTE_LITERAL.
|
2019-12-26 14:53:24 +00:00 |
Philip.Hazel
|
0a2033f0f7
|
Remove atomic restriction on capture groups containing recursive back
references, as since 10.30 it has been unnecessary.
|
2019-12-18 16:16:12 +00:00 |
Zoltán Herczeg
|
880aac5dda
|
Fix the too early access of the fields of a compiled pattern in JIT.
|
2019-12-07 16:00:53 +00:00 |
Zoltán Herczeg
|
2632526c67
|
Fix ARMv5 JIT improper handling of labels right after a constant pool.
|
2019-11-29 11:03:10 +00:00 |
Zoltán Herczeg
|
f5286d8f56
|
Use PCRE2_MATCH_EMPTY flag to detect empty matches in JIT.
|
2019-11-28 11:35:08 +00:00 |
Philip.Hazel
|
add4db4c87
|
Final file tidies for 10.34
|
2019-11-21 16:31:08 +00:00 |
Zoltán Herczeg
|
af45f41fbb
|
Fixed the incorrect computation of jump sizes on x86 CPUs in JIT.
|
2019-11-19 12:25:32 +00:00 |
Philip.Hazel
|
26fc863155
|
Update comment about %lu warnings.
|
2019-11-17 17:38:53 +00:00 |
Philip.Hazel
|
3c869816ac
|
Fix sometimes failing caseless non-ASCII matching in assertion.
|
2019-11-16 17:30:07 +00:00 |
Zoltán Herczeg
|
6f41a5a01a
|
ARM64 first character fixes by Sebastian Pop.
|
2019-11-12 13:10:44 +00:00 |
Philip.Hazel
|
8855b0efe1
|
File tidies for 10.34-RC2.
|
2019-11-06 16:51:31 +00:00 |
Zoltán Herczeg
|
1838261037
|
JIT ARM64 fixes by Sebastian Pop.
|
2019-11-06 14:00:21 +00:00 |
Philip.Hazel
|
ae9208ab7b
|
Source tidies (trailing spaces) etc. for 10.34-RC1.
|
2019-10-17 16:39:38 +00:00 |
Philip.Hazel
|
7ecc9cdfaf
|
Fix error offset bug introduced at 1176.
|
2019-10-16 17:12:13 +00:00 |
Zoltán Herczeg
|
f768448fd3
|
JIT compiler update and disable wrong assert.
|
2019-10-16 12:50:55 +00:00 |
Philip.Hazel
|
2a0faa2114
|
Ensure regexec is thread safe to avoid sanitizer warnings.
|
2019-10-15 10:46:36 +00:00 |
Zoltán Herczeg
|
97acc05f0c
|
Fix use after free and compilation error in JIT.
|
2019-10-06 03:36:20 +00:00 |
Zoltán Herczeg
|
70b0debf10
|
Better description for jit-sealloc option and early check for executable memory.
|
2019-10-01 13:46:41 +00:00 |
Zoltán Herczeg
|
e69a614430
|
Support NEON based fast forward character search in ARM64. Patch by Sebastian Pop.
|
2019-09-17 06:59:45 +00:00 |
Philip.Hazel
|
e413f3147c
|
Optimize certain starting code unit bit maps into a single starting code unit.
|
2019-09-13 17:02:06 +00:00 |
Philip.Hazel
|
d917899be5
|
Improve starting-byte bit map for UTF-8 patterns with wide characters in
classes.
|
2019-09-10 15:38:42 +00:00 |
Philip.Hazel
|
78fae97f6c
|
Mend bug introduced in previous patch. Fixes crash detected by ClusterFuzz
17101.
|
2019-09-10 13:22:08 +00:00 |
Philip.Hazel
|
bf15267c30
|
Optimize classes such as [Aa] to be a single caseless character.
|
2019-09-09 17:00:19 +00:00 |
Zoltán Herczeg
|
aae44b83f8
|
Add underflow check in JIT.
|
2019-09-09 07:12:00 +00:00 |
Philip.Hazel
|
27d40c8ad8
|
When computing minimum length, don't scan subsequent branches if any branch in
a group has zero minimum length.
|
2019-09-07 15:16:10 +00:00 |
Philip.Hazel
|
7bbdc58513
|
Fix pessimizing optimization of start-of-match code units in the interpreters.
|
2019-09-06 16:08:45 +00:00 |
Philip.Hazel
|
963b570fd0
|
Back off failed attempt to handle nested lookbehinds for estimating how much of
a partial match to retain for multi-segment matching. Document the current
difficulty if the whole first segment cannot be retained.
|
2019-09-04 18:14:54 +00:00 |
Philip.Hazel
|
87bc092222
|
Cut out maketables_free when included in freestanding program.
|
2019-09-04 07:23:01 +00:00 |
Philip.Hazel
|
0970ae4195
|
Add the pcre2_maketables_free() function.
|
2019-09-03 14:16:07 +00:00 |
Philip.Hazel
|
45b219e6bc
|
Fix bug introduced in commit 1133. Lookbehinds that follow a condition were not
always properly handled.
|
2019-08-26 16:28:26 +00:00 |
Zoltán Herczeg
|
60df4c65d5
|
Move JIT simd into a separate header file.
|
2019-08-26 12:02:03 +00:00 |
Philip.Hazel
|
71eb916d79
|
Fix allusedtext bug, rightmost consulted character incorrect in negative
lookaheads.
|
2019-08-10 11:34:50 +00:00 |
Philip.Hazel
|
59c7c5d100
|
Fix incorrect computation of group length when one branch exceeded 65535.
|
2019-08-03 08:30:40 +00:00 |
Philip.Hazel
|
81ad92820a
|
Comments updates.
|
2019-08-01 16:59:50 +00:00 |
Philip.Hazel
|
ec6191cd7f
|
Documentation update and ensure current pcre2.h.generic.
|
2019-08-01 16:49:09 +00:00 |
Philip.Hazel
|
c0ed5a3ab3
|
Minor upgrade to pcre2test and comment in ucptest.
|
2019-07-30 17:59:42 +00:00 |
Philip.Hazel
|
7292c751a3
|
Remove incorrect comment.
|
2019-07-29 16:03:25 +00:00 |
Philip.Hazel
|
aff5a78056
|
Upgrade to Unicode 12.1.0
|
2019-07-29 15:32:36 +00:00 |
Philip.Hazel
|
9319b5bb83
|
Correct tables argument data type for pcre2_set_character_tables() and fix
documentation for pcre2_maketables().
|
2019-07-28 15:58:24 +00:00 |
Philip.Hazel
|
24c62fc0d0
|
(*ACCEPT) at start of branch was not recording "may match empty string".
|
2019-07-23 16:58:57 +00:00 |
Zoltán Herczeg
|
82a4729e13
|
Follow the partial matching changes in JIT.
|
2019-07-23 12:34:58 +00:00 |
Philip.Hazel
|
3572634086
|
More partial match tweaks.
|
2019-07-22 16:30:44 +00:00 |
Philip.Hazel
|
c84a06c96e
|
Update definition of partial match and fix \z and \Z (as documented).
|
2019-07-21 16:48:13 +00:00 |
Philip.Hazel
|
344056baf8
|
Update pcre2demo with match_data block size information.
|
2019-07-19 15:31:54 +00:00 |
Philip.Hazel
|
c30815f5a1
|
Fix bug in recent patch for lookbehinds within lookaheads. Fixes ClusterFuzz
15933.
|
2019-07-18 17:20:29 +00:00 |
Zoltán Herczeg
|
f5b35e7943
|
Rework alternative matching in JIT.
|
2019-07-18 06:11:04 +00:00 |
Zoltán Herczeg
|
c11b23e8cc
|
JIT compiler update.
|
2019-07-17 07:05:48 +00:00 |
Philip.Hazel
|
0d0ee67eb0
|
Check start code unit bit map for setting minimum length.
|
2019-07-16 16:16:45 +00:00 |
Philip.Hazel
|
bca9888a2c
|
Implemented pcre2_get_match_data_size().
|
2019-07-16 15:50:09 +00:00 |
Philip.Hazel
|
046c5cd21c
|
Fix lookbehind within lookahead within lookbehind misbehaviour bug.
|
2019-07-16 15:06:21 +00:00 |
Philip.Hazel
|
66811c6c73
|
Fix oversights in recent non-atomic assertions patch. Fixes ClusterFuzz 15837.
|
2019-07-15 16:04:13 +00:00 |
Philip.Hazel
|
4677b1b0bb
|
Tidy partial matching code; prepare for possible future change.
|
2019-07-14 16:44:46 +00:00 |
Philip.Hazel
|
620f3a1307
|
Implement non-atomic positive assertions.
|
2019-07-13 11:12:03 +00:00 |
Zoltán Herczeg
|
691aca7a86
|
Improve non-virtual register usage in JIT.
|
2019-07-10 14:57:43 +00:00 |
Philip.Hazel
|
2e06fdcdc1
|
Check for integer overflow when computing lookbehind lengths. Fixes Clusterfuzz
issue 13656.
|
2019-07-04 17:01:53 +00:00 |
Philip.Hazel
|
a5c601091e
|
Give error for zero timing argument to pcre2test.
|
2019-07-03 17:15:37 +00:00 |
Philip.Hazel
|
4866bd3652
|
Fix bugs in recent patch for setting the maximum lookbehind.
|
2019-06-28 16:58:08 +00:00 |
Philip.Hazel
|
c0d0ee5365
|
Fix partial matching bug in pcre2_dfa_match().
|
2019-06-26 16:13:28 +00:00 |
Philip.Hazel
|
434e3f7468
|
Make pcre2test show actual pre-match consulted characters for a partial match,
not the length of the longest lookbehind. Control this by "allusedtext".
|
2019-06-26 08:23:47 +00:00 |
Philip.Hazel
|
d21f7daf9b
|
Improve maximum lookbehind calculation for nested lookbehinds.
|
2019-06-25 15:40:42 +00:00 |
Zoltán Herczeg
|
7f24a98cfb
|
Mixing SSE2 instructions in JIT.
|
2019-06-25 09:29:37 +00:00 |
Zoltán Herczeg
|
7768756737
|
Improve SSE2 optimiztions in JIT.
|
2019-06-25 06:11:14 +00:00 |
Philip.Hazel
|
9c53b6b11a
|
Minor code and comment tidies.
|
2019-06-19 16:39:18 +00:00 |
Philip.Hazel
|
da5155fed3
|
Don't ignore {1}+ when it is applied to a parenthesized item.
|
2019-06-19 16:27:50 +00:00 |
Philip.Hazel
|
ef79b978a6
|
Fix minimum length bug for patterns containing (*ACCEPT).
|
2019-06-18 16:07:43 +00:00 |
Zoltán Herczeg
|
3b2fa4dff2
|
Improve first character search in JIT (BSF instruction is slow).
|
2019-06-18 08:29:43 +00:00 |
Philip.Hazel
|
1ebc2c50cc
|
Another extension to minimum length calculation.
|
2019-06-17 16:26:44 +00:00 |
Philip.Hazel
|
ead78198d1
|
Improve minimum length finder in the presence of back references when there are
multiple groups with the same number.
|
2019-06-16 15:37:45 +00:00 |
Philip.Hazel
|
0d1ab8515f
|
Fix pcre2grep -o bug when ovector overflows; add option to adjust the limit;
raise the default limit; give error if -o requests an uncaptured parens.
|
2019-06-15 15:51:07 +00:00 |
Philip.Hazel
|
300bf6e2d6
|
Another fix to the recent (*ACCEPT) patch. Fixes clusterfuzz 15242.
|
2019-06-14 15:44:57 +00:00 |
Philip.Hazel
|
49f174ef78
|
Make pcre2_match() return (*MARK) names from successful conditional assertions,
as Perl and the JIT do.
|
2019-06-13 16:49:40 +00:00 |
Philip.Hazel
|
1f6b9097f4
|
Minor improvement to minimum length calculation.
|
2019-06-13 16:00:11 +00:00 |
Philip.Hazel
|
f0c06ee212
|
Fix minor oversight in previous patch. Fixes clusterfuzz 15199.
|
2019-06-11 07:37:29 +00:00 |
Philip.Hazel
|
306f2b9c57
|
Allow (*ACCEPT) to be quantified.
|
2019-06-10 16:41:22 +00:00 |
Zoltán Herczeg
|
cc51779d88
|
Improve single character iterators, add special path to dotall.
|
2019-06-07 13:48:59 +00:00 |
Philip.Hazel
|
d5dc4e0c33
|
Tweak limits on "must have" code unit searches (improves some performance).
|
2019-05-28 16:34:28 +00:00 |
Philip.Hazel
|
4f31de2866
|
Add support for invalid UTF-8 matching to pcre2grep.
|
2019-05-28 14:14:22 +00:00 |
Philip.Hazel
|
5850cc5928
|
Fix previous patch for non-JIT compilation.
|
2019-05-25 16:31:38 +00:00 |
Philip.Hazel
|
16c046ce50
|
Implement support for invalid UTF in the pcre2_match() interpreter.
|
2019-05-24 17:15:48 +00:00 |
Zoltán Herczeg
|
2ad4329f83
|
Rework word boundary in JIT.
|
2019-05-23 07:46:10 +00:00 |
Philip.Hazel
|
342c16ecd3
|
Forgot this file in previous commit. Fixes JIT non-UTF bug.
|
2019-05-13 16:38:18 +00:00 |
Zoltán Herczeg
|
274efb8ded
|
Improved the invalid utf32 support of the JIT compiler.
|
2019-05-10 13:15:20 +00:00 |
Philip.Hazel
|
16de9003e5
|
Implement a check on the number of capturing parentheses, which for some reason
has never existed. This fixes ClusterFuzz issue 14376.
|
2019-04-22 12:39:38 +00:00 |
Philip.Hazel
|
4e4f273f07
|
Final file tidies for 10.33.
|
2019-04-16 15:34:27 +00:00 |
Philip.Hazel
|
4acee004ec
|
Casts and rewrites to avoid clang sanitize warnings.
|
2019-04-16 14:49:07 +00:00 |
Zoltán Herczeg
|
e17e54711b
|
Negate signed shift warnings.
|
2019-04-16 08:57:10 +00:00 |
Philip.Hazel
|
95c9d011e3
|
Change a number of expressions like 1<<10 to 1u<<10.
|
2019-04-12 14:40:27 +00:00 |
Zoltán Herczeg
|
590bc16842
|
Disable SSE2 JIT optimizations in x86 CPUs when SSE2 is not available.
|
2019-03-25 14:10:24 +00:00 |
Philip.Hazel
|
e85de98d0a
|
Fix crash in pcre2_substitute() with NULL match context.
|
2019-03-11 17:29:08 +00:00 |
Philip.Hazel
|
7375089fa5
|
More file tidies for 10.33-RC1
|
2019-03-04 18:07:04 +00:00 |