]> granicus.if.org Git - php/commitdiff
Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)
authorXinchen Hui <laruence@gmail.com>
Wed, 27 Dec 2017 04:51:50 +0000 (12:51 +0800)
committerXinchen Hui <laruence@gmail.com>
Wed, 27 Dec 2017 04:51:50 +0000 (12:51 +0800)
NEWS
TSRM/TSRM.h
sapi/embed/php_embed.c

diff --git a/NEWS b/NEWS
index 478d8893252acab27fabd95527a81cc6af3e6fcf..9d44be5ac3ac849e13b58e5080fed777719c263d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,10 @@ PHP                                                                        NEWS
   . Fixed bug #75671 (pg_version() crashes when called on a connection to
     cockroach). (magicaltux at gmail dot com)
 
+- SAPI:
+  . Fixed bug #75735 ([embed SAPI] Segmentation fault in
+    sapi_register_post_entry). (Laruence)
+
 - SOAP:
   . Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is
     used). (Anton Artamonov)
index f9bb241050112a41e9491b4c2f1b928dbfc6995d..458843a689a01133f64169e0cd1b9c7d3ce4976f 100644 (file)
@@ -174,8 +174,10 @@ TSRM_API void *tsrm_get_ls_cache(void);
 #define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL;
 #if ZEND_DEBUG
 #define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
+#define TSRMLS_CACHE_RESET()
 #else
 #define TSRMLS_CACHE_UPDATE() if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache()
+#define TSRMLS_CACHE_RESET()  TSRMLS_CACHE = NULL
 #endif
 #define TSRMLS_CACHE _tsrm_ls_cache
 
index e444610d7743d50e0365a37d03880c46f68b1062..e2a27a192ced0ab96314bdeeee8af999bcc27d4c 100644 (file)
@@ -227,6 +227,7 @@ EMBED_SAPI_API void php_embed_shutdown(void)
        sapi_shutdown();
 #ifdef ZTS
     tsrm_shutdown();
+       TSRMLS_CACHE_RESET();
 #endif
        if (php_embed_module.ini_entries) {
                free(php_embed_module.ini_entries);