Browse Source

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fixed bug #64604
pull/643/head
Stanislav Malyshev 12 years ago
parent
commit
30ec1c0051
  1. 2
      NEWS
  2. 40
      ext/standard/tests/url/bug64604.phpt
  3. 8
      ext/standard/url.c

2
NEWS

@ -5,6 +5,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

40
ext/standard/tests/url/bug64604.phpt

@ -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"
}

8
ext/standard/url.c

@ -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;

Loading…
Cancel
Save