]> granicus.if.org Git - php/commitdiff
Fixed refcounting
authorDmitry Stogov <dmitry@zend.com>
Fri, 7 Mar 2014 13:17:35 +0000 (17:17 +0400)
committerDmitry Stogov <dmitry@zend.com>
Fri, 7 Mar 2014 13:17:35 +0000 (17:17 +0400)
ext/pcre/php_pcre.c

index e15076072e8de61353dfe8da6768ad34734b14a7..8a5b069ee80bb40b34927a1d9e7e2033cf9df3e0 100644 (file)
@@ -1813,7 +1813,7 @@ PHPAPI void  php_pcre_grep_impl(pcre_cache_entry *pce, zval *input, zval *return
                /* If the entry fits our requirements */
                if ((count > 0 && !invert) || (count == PCRE_ERROR_NOMATCH && invert)) {
 
-                       Z_ADDREF_P(entry);
+                       if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
 
                        /* Add to return array */
                        switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(input), &string_key, &num_key, 0, NULL))