Fixed bug #22283 (possible crash when opening relative URLs).

This commit is contained in:
Ilia Alshanetsky 2003-02-19 00:49:31 +00:00
parent 69113a3099
commit a6ef609a37

View File

@ -348,8 +348,13 @@ php_stream *php_stream_url_wrap_http(php_stream_wrapper *wrapper, char *path, ch
*new_path='\0';
if (strlen(location)<8 || (strncasecmp(location, "http://", sizeof("http://")-1) && strncasecmp(location, "https://", sizeof("https://")-1))) {
if (*location != '/') {
if (*(location+1) != '\0') {
php_dirname(resource->path, strlen(resource->path));
if (*(location+1) != '\0' && resource->path) {
char *s = strrchr(resource->path, '/');
if (!s) {
s = resource->path;
*s = '/';
}
s[1] = '\0';
if (resource->path && *(resource->path) == '/' && *(resource->path + 1) == '\0') {
snprintf(loc_path, sizeof(loc_path) - 1, "%s%s", resource->path, location);
} else {