mirror of
https://github.com/PCRE2Project/pcre2.git
synced 2025-10-19 11:21:34 +08:00
Fix crash when more than one kind of "push" was set in pcre2test.
This commit is contained in:
@@ -153,6 +153,9 @@ tests to improve coverage.
|
|||||||
|
|
||||||
30. Implement (?n: for PCRE2_NO_AUTO_CAPTURE, because Perl now has this.
|
30. Implement (?n: for PCRE2_NO_AUTO_CAPTURE, because Perl now has this.
|
||||||
|
|
||||||
|
31. If more than one of "push", "pushcopy", or "pushtablescopy" were set in
|
||||||
|
pcre2test, a crash could occur.
|
||||||
|
|
||||||
|
|
||||||
Version 10.23 14-February-2017
|
Version 10.23 14-February-2017
|
||||||
------------------------------
|
------------------------------
|
||||||
|
@@ -726,6 +726,9 @@ static uint32_t exclusive_pat_controls[] = {
|
|||||||
CTL_POSIX | CTL_PUSHCOPY,
|
CTL_POSIX | CTL_PUSHCOPY,
|
||||||
CTL_POSIX | CTL_PUSHTABLESCOPY,
|
CTL_POSIX | CTL_PUSHTABLESCOPY,
|
||||||
CTL_POSIX | CTL_USE_LENGTH,
|
CTL_POSIX | CTL_USE_LENGTH,
|
||||||
|
CTL_PUSH | CTL_PUSHCOPY,
|
||||||
|
CTL_PUSH | CTL_PUSHTABLESCOPY,
|
||||||
|
CTL_PUSHCOPY | CTL_PUSHTABLESCOPY,
|
||||||
CTL_EXPAND | CTL_HEXPAT };
|
CTL_EXPAND | CTL_HEXPAT };
|
||||||
|
|
||||||
/* Data controls that are mutually exclusive. At present these are all in the
|
/* Data controls that are mutually exclusive. At present these are all in the
|
||||||
|
8
testdata/testinput20
vendored
8
testdata/testinput20
vendored
@@ -97,4 +97,12 @@
|
|||||||
#pop
|
#pop
|
||||||
abcd
|
abcd
|
||||||
|
|
||||||
|
# Must only specify one of these
|
||||||
|
|
||||||
|
//push,pushcopy
|
||||||
|
|
||||||
|
//push,pushtablescopy
|
||||||
|
|
||||||
|
//pushcopy,pushtablescopy
|
||||||
|
|
||||||
# End of testinput20
|
# End of testinput20
|
||||||
|
11
testdata/testoutput20
vendored
11
testdata/testoutput20
vendored
@@ -147,4 +147,15 @@ Serialization failed: error -30: patterns do not all use the same character tabl
|
|||||||
abcd
|
abcd
|
||||||
0: abcd
|
0: abcd
|
||||||
|
|
||||||
|
# Must only specify one of these
|
||||||
|
|
||||||
|
//push,pushcopy
|
||||||
|
** Not allowed together: push pushcopy
|
||||||
|
|
||||||
|
//push,pushtablescopy
|
||||||
|
** Not allowed together: push pushtablescopy
|
||||||
|
|
||||||
|
//pushcopy,pushtablescopy
|
||||||
|
** Not allowed together: pushcopy pushtablescopy
|
||||||
|
|
||||||
# End of testinput20
|
# End of testinput20
|
||||||
|
Reference in New Issue
Block a user