iliaa Wed Feb 21 04:29:15 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/soap php_http.c Log: Improve redirect validation http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_http.c?r1=1.77.2.11.2.5&r2=1.77.2.11.2.6&diff_format=u Index: php-src/ext/soap/php_http.c diff -u php-src/ext/soap/php_http.c:1.77.2.11.2.5 php-src/ext/soap/php_http.c:1.77.2.11.2.6 --- php-src/ext/soap/php_http.c:1.77.2.11.2.5 Mon Jan 1 09:36:06 2007 +++ php-src/ext/soap/php_http.c Wed Feb 21 04:29:15 2007 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_http.c,v 1.77.2.11.2.5 2007/01/01 09:36:06 sebastian Exp $ */ +/* $Id: php_http.c,v 1.77.2.11.2.6 2007/02/21 04:29:15 iliaa Exp $ */ #include "php_soap.h" #include "ext/standard/base64.h" @@ -910,19 +910,20 @@ efree(http_body); efree(loc); if (new_url->scheme == NULL && new_url->path != NULL) { - new_url->scheme = estrdup(phpurl->scheme); - new_url->host = estrdup(phpurl->host); + new_url->scheme = NULL; + new_url->host = phpurl->host ? estrdup(phpurl->host) : NULL; new_url->port = phpurl->port; if (new_url->path && new_url->path[0] != '/') { - char *t = phpurl->path?phpurl->path:"/"; + char *t = phpurl->path; char *p = strrchr(t, '/'); - char *s = emalloc((p - t) + strlen(new_url->path) + 2); - - strncpy(s, t, (p - t) + 1); - s[(p - t) + 1] = 0; - strcat(s, new_url->path); - efree(new_url->path); - new_url->path = s; + if (p) { + char *s = emalloc((p - t) + strlen(new_url->path) + 2); + strncpy(s, t, (p - t) + 1); + s[(p - t) + 1] = 0; + strcat(s, new_url->path); + efree(new_url->path); + new_url->path = s; + } } } phpurl = new_url;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php