]> granicus.if.org Git - php/commitdiff
Split destructor
authorDmitry Stogov <dmitry@zend.com>
Thu, 4 Jul 2019 10:07:47 +0000 (13:07 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 4 Jul 2019 10:07:47 +0000 (13:07 +0300)
ext/pcre/php_pcre.c

index 66090f121a2a70a29d0563aa496eee40e68ce4bb..cae276134c38a86255dc09f8e393531c31bded2a 100644 (file)
@@ -143,7 +143,16 @@ static void php_free_pcre_cache(zval *data) /* {{{ */
        pcre_cache_entry *pce = (pcre_cache_entry *) Z_PTR_P(data);
        if (!pce) return;
        pcre2_code_free(pce->re);
-       pefree(pce, !PCRE_G(per_request_cache));
+       free(pce);
+}
+/* }}} */
+
+static void php_efree_pcre_cache(zval *data) /* {{{ */
+{
+       pcre_cache_entry *pce = (pcre_cache_entry *) Z_PTR_P(data);
+       if (!pce) return;
+       pcre2_code_free(pce->re);
+       efree(pce);
 }
 /* }}} */
 
@@ -459,7 +468,7 @@ static PHP_RINIT_FUNCTION(pcre)
 #endif
 
        if (PCRE_G(per_request_cache)) {
-               zend_hash_init(&PCRE_G(pcre_cache), 0, NULL, php_free_pcre_cache, 0);
+               zend_hash_init(&PCRE_G(pcre_cache), 0, NULL, php_efree_pcre_cache, 0);
        }
 
        return SUCCESS;