Commit Graph

144 Commits

Author SHA1 Message Date
ph10
b20686e659 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
ph10
0885dc7854 Added credit for finding a bug. 2015-07-16 16:15:52 +00:00
ph10
d223637c8b Move pcre2_find_bracket() into its own module to avoid circular dependency. 2015-07-16 16:11:52 +00:00
ph10
9a9af53e07 Fix bad processing of (?x)(*MARK) within another group. 2015-07-15 09:34:04 +00:00
ph10
9003f7b91e Fix [[:>:]] when followed by parenthesis buffer overflow. 2015-07-15 09:08:12 +00:00
ph10
19bc5c700a Fix typos in dftables.c for z/OS. 2015-07-08 08:30:23 +00:00
ph10
d2d48dabf6 Remove unused redundant copy of opcode_possessify table. 2015-07-06 16:07:54 +00:00
ph10
c7209c91dd Memchr() speed-up for unanchored pattern in 8-bit mode. 2015-07-06 16:05:41 +00:00
zherczeg
f21512d48b Improve matching speed of patterns starting with + or * in JIT. 2015-07-03 06:46:20 +00:00
ph10
514d6fd7db Final file tidies for 10.20. 2015-07-02 13:18:14 +00:00
ph10
a5cb435699 Fix memory leak in pcre2grep. 2015-06-30 10:28:59 +00:00
zherczeg
4a2cbee22e JIT should return with error when the compiled pattern requires more stack space than the maximum. 2015-06-28 13:31:24 +00:00
ph10
48a17d13c7 Fix [\h] in EBCDIC environments. 2015-06-22 13:40:23 +00:00
ph10
4011f01e4b 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
ph10
cbb3fd26ad Source and document file tidies for 10.20-RC1. 2015-06-18 16:39:25 +00:00
zherczeg
ad668e2e4d Single character repetition in JIT has been improved. 2015-06-16 11:37:19 +00:00
ph10
9b9465f35d Make \c operate like Perl in EBCDIC environments. 2015-06-13 16:10:14 +00:00
ph10
9d4f5808db Fix \a and \e in pcre2test, and \a in pcre2_compile, on EBCDIC platforms. 2015-06-12 16:25:23 +00:00
ph10
5f11533fc5 Fix empty string matching bug. 2015-06-09 17:41:45 +00:00
ph10
62e735f743 Fix table entry for \l in EBCDIC environments. 2015-06-09 16:33:44 +00:00
ph10
483e0bc706 Check for integer overflow in subroutine calls. 2015-06-08 17:51:54 +00:00
ph10
7638ce507c 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
ph10
3ee0991fdd Make pcre2test give an error for \P, \p, and \X after #forbid_utf. 2015-05-20 17:44:17 +00:00
ph10
f9ccf6dea5 Give error for empty subpattern name such as (?''). 2015-05-19 16:48:57 +00:00
ph10
35849de261 Fix buffer overflow for lookbehind with mutually recursive groups. 2015-05-18 17:31:29 +00:00
ph10
11cd3714d3 Fix pcre2grep compile with -std=c99. 2015-05-16 16:52:45 +00:00
ph10
1b389f5144 Fix sanitize=undefined warnings for left shifts of 31. 2015-05-16 16:02:46 +00:00
ph10
cd01b678f0 Fix forward reference by name to duplicate group number bug. 2015-05-16 11:01:48 +00:00
ph10
b7b3192b06 Fix buffer overflow for recursive byname back reference when duplicate names
exist.
2015-05-15 17:09:01 +00:00
ph10
6b0a3653d3 Fix repeated condition check by duplicated name bug. 2015-05-08 16:32:28 +00:00
ph10
08a8f6083e Re-do previous patch and fix new forward-reference-with-quantification bugs. 2015-05-06 16:51:25 +00:00
ph10
6e7ec542b2 Fix recursive forward reference bug. 2015-05-03 16:46:56 +00:00
ph10
a200169933 Fix static linking using pkg-config issue. 2015-04-23 17:38:02 +00:00
ph10
d568023aec Fix compatibility issues for \8 and \9. 2015-04-23 17:28:39 +00:00
ph10
e0e6be1f66 Implement PCRE2_ALT_CIRCUMFLEX. 2015-04-22 17:39:25 +00:00
ph10
6f272dd199 Fix replication bug in pcre2test. 2015-04-21 08:34:10 +00:00
ph10
68fe4373fd Implement PCRE2_NEVER_BACKSLASH_C. 2015-04-13 17:29:05 +00:00
ph10
29ebf9954c Fix very slow find_minlength when mutual recursion is present. 2015-04-13 09:13:39 +00:00
ph10
af2246965b Fix other cases where backtracking after \C could cause a crash. 2015-04-08 16:53:22 +00:00
ph10
3a069051d0 Fix backtracking bug for \C\X* in UTF mode. 2015-04-08 16:33:58 +00:00
ph10
bf5d44cfd7 Fix handling of global matching in pcre2test when a lookbehind assertion
contains \K.
2015-04-06 12:16:36 +00:00
ph10
98d8aba926 Fix pcre2grep loop provoked by \K in a lookbehind assertion in a non-anchored
pattern.
2015-04-03 11:14:19 +00:00
ph10
23795ac7b9 Fix stack overflow instead of error diagnosis for mutual recursion within
lookbehind assertion.
2015-04-01 15:37:54 +00:00
ph10
448b48f2b9 Tidy the types of some integer variables. 2015-03-31 16:10:01 +00:00
ph10
a02d3b152e Fix diagnosis of negative relative references to non-existent groups. 2015-03-31 15:01:25 +00:00
ph10
d71e5fe980 Fix bad compile for possessive quantifier on group containing a subroutine
reference.
2015-03-29 17:34:04 +00:00
ph10
a030a8f9c8 Fix non-diagnosis of syntax error for (?(?< when not followed by ! or =. 2015-03-29 15:40:45 +00:00
ph10
86f783c60d Fix comment between recursion and quantifier bug. 2015-03-29 11:15:32 +00:00
ph10
1a1781e0c9 Fix mutual recursion inside other parentheses stack overflow bug. 2015-03-27 17:45:02 +00:00
ph10
625fd31e3e 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
ph10
698f0a04ee Add recursion limit to auto-possessification code. 2015-03-25 17:01:04 +00:00
ph10
f63b12103c Fix bugs when (?!) is used as a condition. 2015-03-24 10:21:34 +00:00
zherczeg
617af78be4 Fix JIT compilation of conditional blocks whose assertion is converted to (*FAIL). 2015-03-24 08:43:52 +00:00
ph10
f8d388a20d Implement pcre2_callout_enumerate(). 2015-03-23 15:52:08 +00:00
ph10
6be0761133 Fix data overrun for /(?(?C)/ 2015-03-20 12:37:28 +00:00
zherczeg
a5a121214a Adding more callout with string tests. 2015-03-12 11:49:29 +00:00
ph10
ace9862cdb Code for callouts with string arguments. Documentation not yet updated. 2015-03-11 17:44:16 +00:00
ph10
632577390a Final file tidies for 10.10 release. 2015-03-06 15:08:29 +00:00
ph10
dd5bdb7976 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
zherczeg
85e2493d88 Commit missing ChangeLog of r213. 2015-03-06 07:57:23 +00:00
ph10
925a473b61 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
ph10
0e94e76689 Fix "internal error" bug caused by patterns like "((?2){0,1999}())?". 2015-02-28 11:31:51 +00:00
ph10
ee35449a68 Final file tidies for 10.10-RC2. 2015-02-26 17:36:29 +00:00
ph10
9b5e78456b Arrange for "make distclean" to remove config.h, a CMake-related file. 2015-02-26 17:20:48 +00:00
ph10
fb0a459116 Add RunTest.bat for testing under Windows, with appropriate test files. 2015-02-25 17:19:28 +00:00
ph10
650cb894e6 Fix DECL/DEFN typo that affects Windows. 2015-02-24 14:21:28 +00:00
ph10
9c1b07cb38 Fix bugs in CMake control file. 2015-02-24 12:35:28 +00:00
ph10
2da55cb725 Improve error message for pcre2test stack setting failure; also %ld should
really be %lu throughout.
2015-02-21 18:53:51 +00:00
ph10
d40b515466 Final source file tidies for 10.10-RC1 2015-02-20 11:20:40 +00:00
ph10
b538c62f6b 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
ph10
d23cd67170 Fix replacement bug in pcre2_substitute(). 2015-02-10 12:48:45 +00:00
ph10
ec5cc00674 Update RunTest to handle locales better. 2015-02-07 17:45:55 +00:00
ph10
3e42c1f229 Fix compile loop for subroutine reference after class such as [^\ff]. 2015-02-06 17:51:55 +00:00
ph10
52699bcd04 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
ph10
9d37924908 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
ph10
263f74f5f2 Fix mutual back reference recursion segfault. 2015-01-28 11:28:53 +00:00
ph10
6f2909052b 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
ph10
234c602fe1 Implement (*NO_JIT) 2015-01-26 14:57:27 +00:00
ph10
f16fa66e2a Add serialization functions and tests with updated pcre2test. Fix
PCRE2_INFO_SIZE issues.
2015-01-23 16:51:47 +00:00
ph10
3056785d93 Fix conditional group backreference bug. 2015-01-13 16:01:24 +00:00
ph10
cb31ca0908 Final file tides for the 10.00 release. 2015-01-05 16:02:11 +00:00
ph10
201a0469e7 Add PCRE2_NO_DOTSTAR_ANCHOR and revise documentation for .* optimizing. 2015-01-02 17:09:16 +00:00
ph10
35100cae9b File tidies for 10.00-RC2. 2014-12-19 09:55:25 +00:00
ph10
c812b920a3 Add user data to recursion guard; get ready for RC1 (again) 2014-11-26 16:51:53 +00:00
ph10
179b95e196 Final preparations for 10.00-RC1 2014-11-24 15:31:28 +00:00
ph10
a471ef8af3 Fix zero-repeated assertion-as-condition bug. 2014-11-19 11:17:20 +00:00
ph10
292361778a Further substitution tests (code and data), and more documentation. 2014-11-14 18:41:20 +00:00
ph10
b3e8a9f1aa Fix bug for (*ACCEPT) inside a capturing group. 2014-11-05 16:05:19 +00:00
ph10
2fe64ff926 Make --enable-unicode the default. 2014-11-03 18:27:56 +00:00
ph10
8af601505d Tidy a lot of files (remove trailing spaces) 2014-10-20 17:28:49 +00:00
ph10
63b805a7e6 Make /()a/ set the "first character must be" data. 2014-08-30 16:21:17 +00:00
ph10
8c0c55e3e6 Refactor match_ref() and fix UTF-8 caseless bug. 2014-08-27 16:59:56 +00:00
ph10
41f673e0c8 Add non-API new features to ChangeLog. 2014-08-26 15:41:31 +00:00
ph10
e60e784f52 Add basic configuration files. 2014-02-20 19:17:05 +00:00