diff options
Diffstat (limited to 'ext/pcre/php_pcre.c')
-rw-r--r-- | ext/pcre/php_pcre.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index 67c373f70a..c8f13d80b6 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -356,6 +356,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) #endif php_error_docref(NULL, E_WARNING, p < ZSTR_VAL(regex) + ZSTR_LEN(regex) ? "Null byte in regex" : "Empty regular expression"); + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); return NULL; } @@ -369,6 +370,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } #endif php_error_docref(NULL,E_WARNING, "Delimiter must not be alphanumeric or backslash"); + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); return NULL; } @@ -419,6 +421,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } else { php_error_docref(NULL,E_WARNING, "No ending matching delimiter '%c' found", delimiter); } + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); return NULL; } @@ -467,6 +470,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } else { php_error_docref(NULL,E_WARNING, "Null byte in regex"); } + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); efree(pattern); #if HAVE_SETLOCALE if (key != regex) { @@ -497,6 +501,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } #endif php_error_docref(NULL,E_WARNING, "Compilation failed: %s at offset %d", error, erroffset); + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); efree(pattern); if (tables) { pefree((void*)tables, 1); @@ -528,6 +533,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } if (error != NULL) { php_error_docref(NULL, E_WARNING, "Error while studying pattern"); + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); } } else { extra = NULL; @@ -564,6 +570,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } #endif php_error_docref(NULL, E_WARNING, "Internal pcre_fullinfo() error %d", rc); + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); return NULL; } @@ -575,6 +582,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex) } #endif php_error_docref(NULL, E_WARNING, "Internal pcre_fullinfo() error %d", rc); + pcre_handle_exec_error(PCRE_ERROR_INTERNAL); return NULL; } |