mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-7.2'
* PHP-7.2: Fix UTF check in pcre_grep
This commit is contained in:
commit
a385993c0c
1 changed files with 4 additions and 4 deletions
|
@ -2720,13 +2720,16 @@ PHPAPI void php_pcre_grep_impl(pcre_cache_entry *pce, zval *input, zval *return
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_PCRE_JIT_SUPPORT
|
||||
no_utf_check = (pce->compile_options & PCRE2_UTF) ? 0 : PCRE2_NO_UTF_CHECK;
|
||||
#endif
|
||||
|
||||
/* Go through the input array */
|
||||
ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(input), num_key, string_key, entry) {
|
||||
zend_string *subject_str = zval_get_string(entry);
|
||||
|
||||
/* Perform the match */
|
||||
#ifdef HAVE_PCRE_JIT_SUPPORT
|
||||
no_utf_check = (pce->compile_options & PCRE2_UTF) ? 0 : PCRE2_NO_UTF_CHECK;
|
||||
if (PCRE_G(jit) && (pce->preg_options && PREG_JIT)
|
||||
&& no_utf_check) {
|
||||
count = pcre2_jit_match(pce->re, ZSTR_VAL(subject_str), ZSTR_LEN(subject_str), 0,
|
||||
|
@ -2736,9 +2739,6 @@ PHPAPI void php_pcre_grep_impl(pcre_cache_entry *pce, zval *input, zval *return
|
|||
count = pcre2_match(pce->re, ZSTR_VAL(subject_str), ZSTR_LEN(subject_str), 0,
|
||||
no_utf_check, match_data, mctx);
|
||||
|
||||
/* the string was already proved to be valid UTF-8 */
|
||||
no_utf_check = PCRE2_NO_UTF_CHECK;
|
||||
|
||||
/* Check for too many substrings condition. */
|
||||
if (count == 0) {
|
||||
php_error_docref(NULL, E_NOTICE, "Matched, but too many substrings");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue