1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 17:38:14 +02:00

MFH: Fixed bug #25800 (parse_url() could not parse urls with empty port).

This commit is contained in:
Ilia Alshanetsky
2003-10-13 04:28:34 +00:00
parent da62e960e2
commit c0ddfe89e2
3 changed files with 18 additions and 6 deletions
+1
View File
@@ -5,6 +5,7 @@ PHP 4 NEWS
POSIX compatible mode. (K.Kosako <kosako at sofnec.co.jp>, Moriyoshi)
- Fixed bug #25814 (Make flock() return correct value when 3rd argument is
used). (Ilia)
- Fixed bug #25800 (parse_url() could not parse urls with empty port). (Ilia)
- Fixed bug #25780 (ext/session: invalid "session.cookie_lifetime" makes
session_start() to crash in win32). (Jani)
- Fixed bug #25770 (Segfault with PHP and bison 1.875). (eggert@gnu.org, Marcus)
+12 -1
View File
@@ -67,7 +67,8 @@ $sample_urls = array (
'http://user:passwd@www.example.com:8080?bar=1&boom=0',
'file:///path/to/file',
'file://path/to/file',
'file:/path/to/file'
'file:/path/to/file',
'http://1.2.3.4:/abc.asp?a=1&b=2'
);
foreach ($sample_urls as $url) {
@@ -639,3 +640,13 @@ array(2) {
["path"]=>
string(13) "/path/to/file"
}
array(4) {
["scheme"]=>
string(4) "http"
["host"]=>
string(7) "1.2.3.4"
["path"]=>
string(8) "/abc.asp"
["query"]=>
string(7) "a=1&b=2"
}
+5 -5
View File
@@ -197,17 +197,17 @@ PHPAPI php_url *php_url_parse(char *str)
if ((p = memchr(s, ':', (e-s)))) {
if (!ret->port) {
p++;
if ( e-p > 5 || e-p < 1 ) { /* port cannot be longer then 5 characters */
if (e-p > 5) { /* port cannot be longer then 5 characters */
STR_FREE(ret->scheme);
STR_FREE(ret->user);
STR_FREE(ret->pass);
efree(ret);
return NULL;
} else if (e - p > 0) {
memcpy(port_buf, p, (e-p));
port_buf[e-p] = '\0';
ret->port = atoi(port_buf);
}
memcpy(port_buf, p, (e-p));
port_buf[e-p] = '\0';
ret->port = atoi(port_buf);
p--;
}
} else {