]> granicus.if.org Git - php/commitdiff
Check zpp before other errors in SoapServer::addSoapHeader()
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 30 Aug 2019 15:03:04 +0000 (17:03 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 30 Aug 2019 15:03:25 +0000 (17:03 +0200)
ext/soap/soap.c

index 3f1e7186a4897516a04ae5180c89e53f6f67a0b6..f0d836e8f5482137da2b84ce1d4c2eee8b8d5501 100644 (file)
@@ -2012,6 +2012,10 @@ PHP_METHOD(SoapServer, addSoapHeader)
 
        SOAP_SERVER_BEGIN_CODE();
 
+       if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &fault, soap_header_class_entry) == FAILURE) {
+               return;
+       }
+
        FETCH_THIS_SERVICE(service);
 
        if (!service || !service->soap_headers_ptr) {
@@ -2019,10 +2023,6 @@ PHP_METHOD(SoapServer, addSoapHeader)
                return;
        }
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &fault, soap_header_class_entry) == FAILURE) {
-               return;
-       }
-
        p = service->soap_headers_ptr;
        while (*p != NULL) {
                p = &(*p)->next;