mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-09 10:10:50 +00:00
Fixed bug #64604
This commit is contained in:
1 parent
5558d0db9b
commit
b05c088a3a
3 files changed
+46
-4
No files matched your search
@@ -6,6 +6,8 @@ PHP NEWS
|
||||
. Fixed bug #61019 (Out of memory on command stream_get_contents). (Mike)
|
||||
. Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace
|
||||
UNIX sockets). (Mike)
|
||||
. Fixed bug #64604 (parse_url is inconsistent with specified port).
|
||||
(Ingo Walz)
|
||||
. Fixed bug #66182 (exit in stream filter produces segfault). (Mike)
|
||||
. Fixed bug #66736 (fpassthru broken). (Mike)
|
||||
. Fixed bug #67024 (getimagesize should recognize BMP files with negative
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
--TEST--
|
||||
Bug #64604 parse_url is inconsistent with specified port
|
||||
--FILE--
|
||||
<?php
|
||||
var_dump(parse_url('//localhost/path'));
|
||||
var_dump(parse_url('//localhost:80/path'));
|
||||
var_dump(parse_url('//localhost:/path'));
|
||||
var_dump(parse_url('http://localhost:80/path'));
|
||||
?>
|
||||
--EXPECT--
|
||||
array(2) {
|
||||
["host"]=>
|
||||
string(9) "localhost"
|
||||
["path"]=>
|
||||
string(5) "/path"
|
||||
}
|
||||
array(3) {
|
||||
["host"]=>
|
||||
string(9) "localhost"
|
||||
["port"]=>
|
||||
int(80)
|
||||
["path"]=>
|
||||
string(5) "/path"
|
||||
}
|
||||
array(2) {
|
||||
["host"]=>
|
||||
string(9) "localhost"
|
||||
["path"]=>
|
||||
string(5) "/path"
|
||||
}
|
||||
array(4) {
|
||||
["scheme"]=>
|
||||
string(4) "http"
|
||||
["host"]=>
|
||||
string(9) "localhost"
|
||||
["port"]=>
|
||||
int(80)
|
||||
["path"]=>
|
||||
string(5) "/path"
|
||||
}
|
||||
+4
-4
@@ -181,6 +181,10 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length)
|
||||
p = e + 1;
|
||||
pp = p;
|
||||
|
||||
if (*s == '/' && *(s+1) == '/') { /* relative-scheme URL */
|
||||
s += 2;
|
||||
}
|
||||
|
||||
while (pp-p < 6 && isdigit(*pp)) {
|
||||
pp++;
|
||||
}
|
||||
@@ -201,10 +205,6 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length)
|
||||
STR_FREE(ret->scheme);
|
||||
efree(ret);
|
||||
return NULL;
|
||||
} else if (*s == '/' && *(s+1) == '/') { /* relative-scheme URL */
|
||||
s += 2;
|
||||
} else {
|
||||
goto just_path;
|
||||
}
|
||||
} else if (*s == '/' && *(s+1) == '/') { /* relative-scheme URL */
|
||||
s += 2;
|
||||
|
||||
Reference in new issue
Block a user