From 4e4f273f07501f813947c95ad8ac7a593906b2e2 Mon Sep 17 00:00:00 2001
From: "Philip.Hazel"
-In this mode, an invalid code unit sequence never matches any pattern item. It -does not match dot, it does not match \p{Any}, it does not even match negative +In this mode, an invalid code unit sequence never matches any pattern item. It +does not match dot, it does not match \p{Any}, it does not even match negative items such as [^X]. A lookbehind assertion fails if it encounters an invalid -sequence while moving the current point backwards. In other words, an invalid -UTF code unit sequence acts as a barrier which no match can cross. Reaching an +sequence while moving the current point backwards. In other words, an invalid +UTF code unit sequence acts as a barrier which no match can cross. Reaching an invalid sequence causes an immediate backtrack.
diff --git a/doc/html/pcre2unicode.html b/doc/html/pcre2unicode.html index 2ed2cdd..c11c7c2 100644 --- a/doc/html/pcre2unicode.html +++ b/doc/html/pcre2unicode.html @@ -263,9 +263,9 @@ only valid UTF code unit sequences.
If you pass an invalid UTF string when PCRE2_NO_UTF_CHECK is set, the result -is usually undefined and your program may crash or loop indefinitely. There is, +is usually undefined and your program may crash or loop indefinitely. There is, however, one mode of matching that can handle invalid UTF subject strings. This -is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option +is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option when calling pcre2_jit_compile(). For details, see the pcre2jit documentation. diff --git a/doc/pcre2.txt b/doc/pcre2.txt index 316ccf9..9c956e8 100644 --- a/doc/pcre2.txt +++ b/doc/pcre2.txt @@ -180,8 +180,8 @@ REVISION Last updated: 17 September 2018 Copyright (c) 1997-2018 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2API(3) Library Functions Manual PCRE2API(3) @@ -3681,8 +3681,8 @@ REVISION Last updated: 14 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2BUILD(3) Library Functions Manual PCRE2BUILD(3) @@ -4254,8 +4254,8 @@ REVISION Last updated: 03 March 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2CALLOUT(3) Library Functions Manual PCRE2CALLOUT(3) @@ -4685,8 +4685,8 @@ REVISION Last updated: 03 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2COMPAT(3) Library Functions Manual PCRE2COMPAT(3) @@ -4890,8 +4890,8 @@ REVISION Last updated: 12 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2JIT(3) Library Functions Manual PCRE2JIT(3) @@ -5313,8 +5313,8 @@ REVISION Last updated: 06 March 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2LIMITS(3) Library Functions Manual PCRE2LIMITS(3) @@ -5383,8 +5383,8 @@ REVISION Last updated: 02 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2MATCHING(3) Library Functions Manual PCRE2MATCHING(3) @@ -5604,8 +5604,8 @@ REVISION Last updated: 10 October 2018 Copyright (c) 1997-2018 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2PARTIAL(3) Library Functions Manual PCRE2PARTIAL(3) @@ -6044,8 +6044,8 @@ REVISION Last updated: 22 December 2014 Copyright (c) 1997-2014 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2PATTERN(3) Library Functions Manual PCRE2PATTERN(3) @@ -9388,8 +9388,8 @@ REVISION Last updated: 12 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2PERFORM(3) Library Functions Manual PCRE2PERFORM(3) @@ -9623,8 +9623,8 @@ REVISION Last updated: 03 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2POSIX(3) Library Functions Manual PCRE2POSIX(3) @@ -9953,8 +9953,8 @@ REVISION Last updated: 30 January 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2SAMPLE(3) Library Functions Manual PCRE2SAMPLE(3) @@ -10232,8 +10232,8 @@ REVISION Last updated: 27 June 2018 Copyright (c) 1997-2018 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2SYNTAX(3) Library Functions Manual PCRE2SYNTAX(3) @@ -10733,8 +10733,8 @@ REVISION Last updated: 11 February 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRE2UNICODE(3) Library Functions Manual PCRE2UNICODE(3) @@ -11109,5 +11109,5 @@ REVISION Last updated: 06 March 2019 Copyright (c) 1997-2019 University of Cambridge. ------------------------------------------------------------------------------ - - + + diff --git a/doc/pcre2_jit_compile.3 b/doc/pcre2_jit_compile.3 index c8d3fc0..23dd2d2 100644 --- a/doc/pcre2_jit_compile.3 +++ b/doc/pcre2_jit_compile.3 @@ -29,7 +29,7 @@ bits: PCRE2_JIT_COMPLETE compile code for full matching PCRE2_JIT_PARTIAL_SOFT compile code for soft partial matching PCRE2_JIT_PARTIAL_HARD compile code for hard partial matching - PCRE2_JIT_INVALID_UTF compile code to handle invalid UTF + PCRE2_JIT_INVALID_UTF compile code to handle invalid UTF .sp The yield of the function is 0 for success, or a negative error code otherwise. In particular, PCRE2_ERROR_JIT_BADOPTION is returned if JIT is not supported or diff --git a/doc/pcre2jit.3 b/doc/pcre2jit.3 index a05c756..b7ae2eb 100644 --- a/doc/pcre2jit.3 +++ b/doc/pcre2jit.3 @@ -130,11 +130,11 @@ via JIT. However, if the option PCRE2_JIT_INVALID_UTF is passed to \fBpcre2_jit_compile()\fP, code that can process a subject containing invalid UTF is compiled. .P -In this mode, an invalid code unit sequence never matches any pattern item. It -does not match dot, it does not match \ep{Any}, it does not even match negative +In this mode, an invalid code unit sequence never matches any pattern item. It +does not match dot, it does not match \ep{Any}, it does not even match negative items such as [^X]. A lookbehind assertion fails if it encounters an invalid -sequence while moving the current point backwards. In other words, an invalid -UTF code unit sequence acts as a barrier which no match can cross. Reaching an +sequence while moving the current point backwards. In other words, an invalid +UTF code unit sequence acts as a barrier which no match can cross. Reaching an invalid sequence causes an immediate backtrack. .P Using this option, an application can run matches in arbitrary data, knowing diff --git a/doc/pcre2unicode.3 b/doc/pcre2unicode.3 index 34a2c8d..56eb1ea 100644 --- a/doc/pcre2unicode.3 +++ b/doc/pcre2unicode.3 @@ -244,9 +244,9 @@ PCRE2 assumes that the pattern or subject it is given (respectively) contains only valid UTF code unit sequences. .P If you pass an invalid UTF string when PCRE2_NO_UTF_CHECK is set, the result -is usually undefined and your program may crash or loop indefinitely. There is, +is usually undefined and your program may crash or loop indefinitely. There is, however, one mode of matching that can handle invalid UTF subject strings. This -is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option +is matching via the JIT optimization using the PCRE2_JIT_INVALID_UTF option when calling \fBpcre2_jit_compile()\fP. For details, see the .\" HREF \fBpcre2jit\fP diff --git a/src/config.h.generic b/src/config.h.generic index d2ed352..25d45ee 100644 --- a/src/config.h.generic +++ b/src/config.h.generic @@ -218,7 +218,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_NAME "PCRE2" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE2 10.33-RC1" +#define PACKAGE_STRING "PCRE2 10.33" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre2" @@ -227,7 +227,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "10.33-RC1" +#define PACKAGE_VERSION "10.33" /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested parentheses (of any kind) in a pattern. This limits the amount of system @@ -352,7 +352,7 @@ sure both macros are undefined; an emulation function will then be used. */ #endif /* Version number of package */ -#define VERSION "10.33-RC1" +#define VERSION "10.33" /* Define to 1 if on MINIX. */ /* #undef _MINIX */ diff --git a/src/pcre2.h.generic b/src/pcre2.h.generic index 201e314..102b5d9 100644 --- a/src/pcre2.h.generic +++ b/src/pcre2.h.generic @@ -43,8 +43,8 @@ POSSIBILITY OF SUCH DAMAGE. #define PCRE2_MAJOR 10 #define PCRE2_MINOR 33 -#define PCRE2_PRERELEASE -RC1 -#define PCRE2_DATE 2019-03-03 +#define PCRE2_PRERELEASE +#define PCRE2_DATE 2019-04-16 /* When an application links to a PCRE DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE2, the appropriate diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c index ab48d2d..068735a 100644 --- a/src/pcre2_compile.c +++ b/src/pcre2_compile.c @@ -5948,10 +5948,10 @@ for (;; pptr++) (void)memmove(code + (32 / sizeof(PCRE2_UCHAR)), code, CU2BYTES(class_uchardata - code)); if (negate_class && !xclass_has_prop) - { - /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ + { + /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ for (i = 0; i < 32; i++) classbits[i] = 255 ^ classbits[i]; - } + } memcpy(code, classbits, 32); code = class_uchardata + (32 / sizeof(PCRE2_UCHAR)); } @@ -5974,10 +5974,10 @@ for (;; pptr++) if (lengthptr == NULL) /* Save time in the pre-compile phase */ { if (negate_class) - { - /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ + { + /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ for (i = 0; i < 32; i++) classbits[i] = 255 ^ classbits[i]; - } + } memcpy(code, classbits, 32); } code += 32 / sizeof(PCRE2_UCHAR); diff --git a/src/pcre2_printint.c b/src/pcre2_printint.c index 36909ef..b132d44 100644 --- a/src/pcre2_printint.c +++ b/src/pcre2_printint.c @@ -673,7 +673,7 @@ for(;;) map = (uint8_t *)ccode; if (invertmap) { - /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ + /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ for (i = 0; i < 32; i++) inverted_map[i] = 255 ^ map[i]; map = inverted_map; }