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