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