From: Xinchen Hui Date: Wed, 27 Dec 2017 04:51:50 +0000 (+0800) Subject: Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry) X-Git-Tag: php-7.1.14RC1~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dc3822c3431ec3229ad439c3e4e4b956218777af;p=php Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry) --- diff --git a/NEWS b/NEWS index 478d889325..9d44be5ac3 100644 --- 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) diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h index f9bb241050..458843a689 100644 --- a/TSRM/TSRM.h +++ b/TSRM/TSRM.h @@ -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 diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c index e444610d77..e2a27a192c 100644 --- a/sapi/embed/php_embed.c +++ b/sapi/embed/php_embed.c @@ -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);