mirror of
https://github.com/php/php-src.git
synced 2024-09-23 02:47:26 +00:00
MFB: Fixed bug #38859 (parse_url() fails if passing '@' in passwd).
This commit is contained in:
parent
a005d97eeb
commit
7d3e03b2a7
@ -71,6 +71,7 @@ $sample_urls = array (
|
||||
'scheme:',
|
||||
'foo+bar://baz@bang/bla',
|
||||
'gg:9130731',
|
||||
'http://user:@pass@host/path?argument?value#etc',
|
||||
);
|
||||
|
||||
foreach ($sample_urls as $url) {
|
||||
@ -525,11 +526,11 @@ array(7) {
|
||||
["scheme"]=>
|
||||
string(4) "http"
|
||||
["host"]=>
|
||||
string(19) "hideout@www.php.net"
|
||||
string(11) "www.php.net"
|
||||
["port"]=>
|
||||
int(80)
|
||||
["user"]=>
|
||||
string(6) "secret"
|
||||
string(14) "secret@hideout"
|
||||
["path"]=>
|
||||
string(10) "/index.php"
|
||||
["query"]=>
|
||||
@ -685,6 +686,22 @@ array(2) {
|
||||
["path"]=>
|
||||
string(7) "9130731"
|
||||
}
|
||||
array(7) {
|
||||
["scheme"]=>
|
||||
string(4) "http"
|
||||
["host"]=>
|
||||
string(4) "host"
|
||||
["user"]=>
|
||||
string(4) "user"
|
||||
["pass"]=>
|
||||
string(5) "@pass"
|
||||
["path"]=>
|
||||
string(5) "/path"
|
||||
["query"]=>
|
||||
string(14) "argument?value"
|
||||
["fragment"]=>
|
||||
string(3) "etc"
|
||||
}
|
||||
string(4) "http"
|
||||
string(11) "www.php.net"
|
||||
int(80)
|
||||
|
@ -211,7 +211,7 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length)
|
||||
}
|
||||
|
||||
/* check for login and password */
|
||||
if ((p = memchr(s, '@', (e-s)))) {
|
||||
if ((p = zend_memrchr(s, '@', (e-s)))) {
|
||||
if ((pp = memchr(s, ':', (p-s)))) {
|
||||
if ((pp-s) > 0) {
|
||||
ret->user = estrndup(s, (pp-s));
|
||||
|
Loading…
Reference in New Issue
Block a user