diff options
author | Dmitry Stogov <dmitry@php.net> | 2004-09-22 05:58:40 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2004-09-22 05:58:40 +0000 |
commit | b027850ba46843fc348e68f4d42ad0447940ded6 (patch) | |
tree | 0af8badfab6529fb0c63da7572609c6fca67162f /ext/soap | |
parent | 24961c73ac415c6a685f721e57467010ff80a8ae (diff) | |
download | php-git-b027850ba46843fc348e68f4d42ad0447940ded6.tar.gz |
Fixed bug #30182 (SOAP module processing WSDL file dumps core).
Diffstat (limited to 'ext/soap')
-rw-r--r-- | ext/soap/php_sdl.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c index 05237969bc..0d4695f357 100644 --- a/ext/soap/php_sdl.c +++ b/ext/soap/php_sdl.c @@ -2168,13 +2168,14 @@ sdlPtr get_sdl(char *uri TSRMLS_DC) { sdlPtr sdl = NULL; char* old_error_code = SOAP_GLOBAL(error_code); + int uri_len; SOAP_GLOBAL(error_code) = "WSDL"; - if (SOAP_GLOBAL(cache_enabled)) { + if (SOAP_GLOBAL(cache_enabled) && ((uri_len = strlen(uri)) < MAXPATHLEN)) { char fn[MAXPATHLEN]; - if (strchr(uri,':') != NULL || IS_ABSOLUTE_PATH(uri,strlen(uri))) { + if (strchr(uri,':') != NULL || IS_ABSOLUTE_PATH(uri, uri_len)) { strcpy(fn, uri); } else if (VCWD_REALPATH(uri, fn) == NULL) { sdl = load_wsdl(uri); |