iliaa Wed May 25 23:56:23 2005 EDT Modified files: /php-src/ext/standard url.c Log: Added scheme validation for parse_url(). http://cvs.php.net/diff.php/php-src/ext/standard/url.c?r1=1.84&r2=1.85&ty=u Index: php-src/ext/standard/url.c diff -u php-src/ext/standard/url.c:1.84 php-src/ext/standard/url.c:1.85 --- php-src/ext/standard/url.c:1.84 Mon Apr 25 19:47:37 2005 +++ php-src/ext/standard/url.c Wed May 25 23:56:21 2005 @@ -15,7 +15,7 @@ | Author: Jim Winstead <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: url.c,v 1.84 2005/04/25 23:47:37 iliaa Exp $ */ +/* $Id: url.c,v 1.85 2005/05/26 03:56:21 iliaa Exp $ */ #include <stdlib.h> #include <string.h> @@ -104,6 +104,19 @@ /* parse scheme */ if ((e = memchr(s, ':', length)) && (e - s)) { + /* validate scheme */ + p = s; + while (p < e) { + if (!isalnum(*p)) { + if (e + 1 < ue) { + goto parse_port; + } else { + goto just_path; + } + } + p++; + } + if (*(e + 1) == '\0') { /* only scheme is available */ ret->scheme = estrndup(s, (e - s)); php_replace_controlchars_ex(ret->scheme, (e - s));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php