diff options
author | Remi Collet <remi@remirepo.net> | 2021-01-28 17:34:17 +0100 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2021-01-28 17:34:17 +0100 |
commit | 4b5aa6b87ed00a959b5d4d5f3283671892acdc7c (patch) | |
tree | de2bd2e990b28baa8f13978d55bc7a65cc1b63ce /php-bug80682.patch | |
parent | 60e554618a6765dcba8f5913a0c09efcf20bbafb (diff) |
add upstream patch for https://bugs.php.net/80682
fix opcache doesn't honour pcre.jit option
Diffstat (limited to 'php-bug80682.patch')
-rw-r--r-- | php-bug80682.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/php-bug80682.patch b/php-bug80682.patch new file mode 100644 index 0000000..38f908b --- /dev/null +++ b/php-bug80682.patch @@ -0,0 +1,30 @@ +From 067f7e4150d8f9bddf6b198c9c7826565ee549b0 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@php.net> +Date: Thu, 28 Jan 2021 16:24:39 +0100 +Subject: [PATCH] Fix #80682 opcache doesn't honour pcre.jit option + +--- + ext/opcache/zend_accelerator_blacklist.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/ext/opcache/zend_accelerator_blacklist.c b/ext/opcache/zend_accelerator_blacklist.c +index 889fcabd7988..5c6bd76821a5 100644 +--- a/ext/opcache/zend_accelerator_blacklist.c ++++ b/ext/opcache/zend_accelerator_blacklist.c +@@ -185,10 +185,12 @@ static void zend_accel_blacklist_update_regexp(zend_blacklist *blacklist) + return; + } + #ifdef HAVE_PCRE_JIT_SUPPORT +- if (0 > pcre2_jit_compile(it->re, PCRE2_JIT_COMPLETE)) { +- /* Don't return here, even JIT could fail to compile, the pattern is still usable. */ +- pcre2_get_error_message(errnumber, pcre_error, sizeof(pcre_error)); +- zend_accel_error(ACCEL_LOG_WARNING, "Blacklist JIT compilation failed, %s\n", pcre_error); ++ if (PCRE_G(jit)) { ++ if (0 > pcre2_jit_compile(it->re, PCRE2_JIT_COMPLETE)) { ++ /* Don't return here, even JIT could fail to compile, the pattern is still usable. */ ++ pcre2_get_error_message(errnumber, pcre_error, sizeof(pcre_error)); ++ zend_accel_error(ACCEL_LOG_WARNING, "Blacklist JIT compilation failed, %s\n", pcre_error); ++ } + } + #endif + /* prepare for the next iteration */ |