From fef4de56a1a28df832a2d1b562d3b137ae257cee Mon Sep 17 00:00:00 2001 From: "Philip.Hazel" Date: Tue, 23 May 2017 16:47:29 +0000 Subject: [PATCH] Fix potential NULL dereference in new code for surrogate escapes, discovered by Coverity Scan. --- src/pcre2_compile.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c index f201e46..ed46b2d 100644 --- a/src/pcre2_compile.c +++ b/src/pcre2_compile.c @@ -1667,8 +1667,8 @@ else } else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) { - if (utf && c >= 0xd800 && c <= 0xdfff && - (cb->cx->extra_options & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0) + if (utf && c >= 0xd800 && c <= 0xdfff && (cb == NULL || + (cb->cx->extra_options & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0)) { ptr--; *errorcodeptr = ERR73; @@ -1737,8 +1737,8 @@ else } else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) { - if (utf && c >= 0xd800 && c <= 0xdfff && - (cb->cx->extra_options & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0) + if (utf && c >= 0xd800 && c <= 0xdfff && (cb == NULL || + (cb->cx->extra_options & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0)) { ptr--; *errorcodeptr = ERR73;