]> granicus.if.org Git - php/commitdiff
add range check to ext/soap
authorAnatol Belski <ab@php.net>
Wed, 26 Aug 2015 12:18:42 +0000 (14:18 +0200)
committerAnatol Belski <ab@php.net>
Wed, 26 Aug 2015 14:39:54 +0000 (16:39 +0200)
ext/soap/soap.c

index 0216de39f2eb5e9b63bdaed74329764cd1652790..3c4a86c01e640a4a7b602538b481bd7b7648fffd 100644 (file)
@@ -1539,6 +1539,11 @@ PHP_METHOD(SoapServer, handle)
                return;
        }
 
+       if (ZEND_NUM_ARGS() > 0 && ZEND_SIZE_T_INT_OVFL(arg_len)) {
+               soap_server_fault("Server", "Input string is too long", NULL, NULL, NULL);
+               return;
+       }
+
        if (SG(request_info).request_method &&
            strcmp(SG(request_info).request_method, "GET") == 0 &&
            SG(request_info).query_string &&