diff options
| -rw-r--r-- | ext/soap/soap.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 0216de39f2..3c4a86c01e 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -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 && |
