mirror of
https://github.com/php/php-src.git
synced 2024-11-24 02:15:04 +08:00
Fix GH-11716: cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1
Closes GH-11757.
This commit is contained in:
parent
429f20e981
commit
af77d3b8da
4
NEWS
4
NEWS
@ -2,6 +2,10 @@ PHP NEWS
|
|||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||
?? ??? ????, PHP 8.1.23
|
?? ??? ????, PHP 8.1.23
|
||||||
|
|
||||||
|
- CLI:
|
||||||
|
. Fixed bug GH-11716 (cli server crashes on SIGINT when compiled with
|
||||||
|
ZEND_RC_DEBUG=1). (nielsdos)
|
||||||
|
|
||||||
- FFI:
|
- FFI:
|
||||||
. Fix leaking definitions when using FFI::cdef()->new(...). (ilutov)
|
. Fix leaking definitions when using FFI::cdef()->new(...). (ilutov)
|
||||||
|
|
||||||
|
@ -878,6 +878,11 @@ add_to_hash:
|
|||||||
ht->nNumOfElements++;
|
ht->nNumOfElements++;
|
||||||
p = ht->arData + idx;
|
p = ht->arData + idx;
|
||||||
p->key = key = zend_string_init(str, len, GC_FLAGS(ht) & IS_ARRAY_PERSISTENT);
|
p->key = key = zend_string_init(str, len, GC_FLAGS(ht) & IS_ARRAY_PERSISTENT);
|
||||||
|
#if ZEND_RC_DEBUG
|
||||||
|
if (GC_FLAGS(ht) & GC_PERSISTENT_LOCAL) {
|
||||||
|
GC_MAKE_PERSISTENT_LOCAL(key);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
p->h = ZSTR_H(key) = h;
|
p->h = ZSTR_H(key) = h;
|
||||||
HT_FLAGS(ht) &= ~HASH_FLAG_STATIC_KEYS;
|
HT_FLAGS(ht) &= ~HASH_FLAG_STATIC_KEYS;
|
||||||
if (flag & HASH_LOOKUP) {
|
if (flag & HASH_LOOKUP) {
|
||||||
|
@ -1340,7 +1340,9 @@ static int php_cli_server_request_ctor(php_cli_server_request *req) /* {{{ */
|
|||||||
req->query_string = NULL;
|
req->query_string = NULL;
|
||||||
req->query_string_len = 0;
|
req->query_string_len = 0;
|
||||||
zend_hash_init(&req->headers, 0, NULL, char_ptr_dtor_p, 1);
|
zend_hash_init(&req->headers, 0, NULL, char_ptr_dtor_p, 1);
|
||||||
|
GC_MAKE_PERSISTENT_LOCAL(&req->headers);
|
||||||
zend_hash_init(&req->headers_original_case, 0, NULL, NULL, 1);
|
zend_hash_init(&req->headers_original_case, 0, NULL, NULL, 1);
|
||||||
|
GC_MAKE_PERSISTENT_LOCAL(&req->headers_original_case);
|
||||||
req->content = NULL;
|
req->content = NULL;
|
||||||
req->content_len = 0;
|
req->content_len = 0;
|
||||||
req->ext = NULL;
|
req->ext = NULL;
|
||||||
@ -2248,6 +2250,7 @@ static int php_cli_server_mime_type_ctor(php_cli_server *server, const php_cli_s
|
|||||||
const php_cli_server_ext_mime_type_pair *pair;
|
const php_cli_server_ext_mime_type_pair *pair;
|
||||||
|
|
||||||
zend_hash_init(&server->extension_mime_types, 0, NULL, NULL, 1);
|
zend_hash_init(&server->extension_mime_types, 0, NULL, NULL, 1);
|
||||||
|
GC_MAKE_PERSISTENT_LOCAL(&server->extension_mime_types);
|
||||||
|
|
||||||
for (pair = mime_type_map; pair->ext; pair++) {
|
for (pair = mime_type_map; pair->ext; pair++) {
|
||||||
size_t ext_len = strlen(pair->ext);
|
size_t ext_len = strlen(pair->ext);
|
||||||
|
Loading…
Reference in New Issue
Block a user