iliaa Thu Sep 28 14:52:55 2006 UTC Modified files: /php-src/ext/standard url.c /php-src/ext/standard/tests/strings url_t.phpt Log: MFB: Fixed bug #38859 (parse_url() fails if passing '@' in passwd). http://cvs.php.net/viewvc.cgi/php-src/ext/standard/url.c?r1=1.98&r2=1.99&diff_format=u Index: php-src/ext/standard/url.c diff -u php-src/ext/standard/url.c:1.98 php-src/ext/standard/url.c:1.99 --- php-src/ext/standard/url.c:1.98 Thu Sep 28 12:55:02 2006 +++ php-src/ext/standard/url.c Thu Sep 28 14:52:55 2006 @@ -15,7 +15,7 @@ | Author: Jim Winstead <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: url.c,v 1.98 2006/09/28 12:55:02 tony2001 Exp $ */ +/* $Id: url.c,v 1.99 2006/09/28 14:52:55 iliaa Exp $ */ #include <stdlib.h> #include <string.h> @@ -211,7 +211,7 @@ } /* 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)); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/url_t.phpt?r1=1.13&r2=1.14&diff_format=u Index: php-src/ext/standard/tests/strings/url_t.phpt diff -u php-src/ext/standard/tests/strings/url_t.phpt:1.13 php-src/ext/standard/tests/strings/url_t.phpt:1.14 --- php-src/ext/standard/tests/strings/url_t.phpt:1.13 Tue Jun 20 19:49:44 2006 +++ php-src/ext/standard/tests/strings/url_t.phpt Thu Sep 28 14:52:55 2006 @@ -71,6 +71,7 @@ 'scheme:', 'foo+bar://[EMAIL PROTECTED]/bla', 'gg:9130731', +'http://user:@[EMAIL PROTECTED]/path?argument?value#etc', ); foreach ($sample_urls as $url) { @@ -525,11 +526,11 @@ ["scheme"]=> string(4) "http" ["host"]=> - string(19) "[EMAIL PROTECTED]" + string(11) "www.php.net" ["port"]=> int(80) ["user"]=> - string(6) "secret" + string(14) "[EMAIL PROTECTED]" ["path"]=> string(10) "/index.php" ["query"]=> @@ -685,6 +686,22 @@ ["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)
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php