summaryrefslogtreecommitdiff
path: root/ext/soap
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2004-09-22 05:58:40 +0000
committerDmitry Stogov <dmitry@php.net>2004-09-22 05:58:40 +0000
commitb027850ba46843fc348e68f4d42ad0447940ded6 (patch)
tree0af8badfab6529fb0c63da7572609c6fca67162f /ext/soap
parent24961c73ac415c6a685f721e57467010ff80a8ae (diff)
downloadphp-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.c5
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);