summaryrefslogtreecommitdiff
path: root/ext/pcre/php_pcre.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-10-04 16:04:34 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-10-04 16:04:34 +0200
commit01b3cc4dee5e9fa4750e1a8d5635758fdae19cab (patch)
tree6c0dbfeaad9ec3a5635a4a220548d293defe7cc0 /ext/pcre/php_pcre.c
parent884b780667b0acbeaf998e4bc52d52aabe414262 (diff)
parent1d6e9da7433bddca5c591ef5b2eeef9c410543bb (diff)
downloadphp-git-01b3cc4dee5e9fa4750e1a8d5635758fdae19cab.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
Diffstat (limited to 'ext/pcre/php_pcre.c')
-rw-r--r--ext/pcre/php_pcre.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c
index a3d2837c38..34c8389ebb 100644
--- a/ext/pcre/php_pcre.c
+++ b/ext/pcre/php_pcre.c
@@ -801,6 +801,12 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex)
if (!pcre2_pattern_info(re, PCRE2_INFO_JITSIZE, &jit_size) && jit_size > 0) {
poptions |= PREG_JIT;
}
+ } else if (rc == PCRE2_ERROR_NOMEMORY) {
+ php_error_docref(NULL, E_WARNING,
+ "Allocation of JIT memory failed, PCRE JIT will be disabled. "
+ "This is likely caused by security restrictions. "
+ "Either grant PHP permission to allocate executable memory, or set pcre.jit=0");
+ PCRE_G(jit) = 0;
} else {
pcre2_get_error_message(rc, error, sizeof(error));
php_error_docref(NULL, E_WARNING, "JIT compilation failed: %s", error);