Fix GH-19226: Segfault when spawning new thread in soap extension

Closes GH-19228.
This commit is contained in:
Florian Engelhardt 2025-07-24 07:58:41 +02:00 committed by Niels Dossche
parent 2645663d9b
commit 29b38a1ced
No known key found for this signature in database
GPG key ID: B8A8AD166DF0E2E5
2 changed files with 7 additions and 2 deletions

4
NEWS
View file

@ -19,6 +19,10 @@ PHP NEWS
. Fixed GH-19197: build broken with ZEND_STRL usage with memcpy
when implemented as macro. (David Carlier)
- Soap:
. Fixed bug GH-19226 (Segfault when spawning new thread in soap extension).
(Florian Engelhardt)
- Sockets:
. socket_set_option for multicast context throws a ValueError
when the socket family is not of AF_INET/AF_INET6 family. (David Carlier)

View file

@ -453,7 +453,6 @@ static void php_soap_init_globals(zend_soap_globals *soap_globals)
soap_globals->soap_version = SOAP_1_1;
soap_globals->mem_cache = NULL;
soap_globals->ref_map = NULL;
soap_globals->lang_en = zend_string_init_interned(ZEND_STRL("en"), true);
}
PHP_MSHUTDOWN_FUNCTION(soap)
@ -553,6 +552,8 @@ PHP_MINIT_FUNCTION(soap)
old_error_handler = zend_error_cb;
zend_error_cb = soap_error_handler;
SOAP_GLOBAL(lang_en) = zend_string_init_interned(ZEND_STRL("en"), true);
return SUCCESS;
}
@ -4205,7 +4206,7 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, const char *param
}
xmlParam = master_to_xml(enc, val, style, parent);
zval_ptr_dtor(&defval);
if (xmlParam != NULL) {
if (xmlParam != NULL) {
if (xmlParam->name == NULL || strcmp((char*)xmlParam->name, "BOGUS") == 0) {
xmlNodeSetName(xmlParam, BAD_CAST(paramName));
}