Fix for bug #51192 (FILTER_VALIDATE_URL will invalidate a hostname that includes '-'). Original patch by solar@azrael.ws.

This commit is contained in:
Adam Harvey 2010-03-03 09:25:50 +00:00
parent 493a53f2d6
commit 58e7da4400
2 changed files with 14 additions and 1 deletions

View File

@ -467,7 +467,7 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
s = url->host;
while (s < e) {
if (!isalnum((int)*(unsigned char *)s) && *s != '_' && *s != '.') {
if (!isalnum((int)*(unsigned char *)s) && *s != '-' && *s != '.') {
goto bad_url;
}
s++;

View File

@ -0,0 +1,13 @@
--TEST--
bug 51192, FILTER_VALIDATE_URL will invalidate a hostname that includes '-'
--SKIPIF--
<?php if (!extension_loaded("filter")) die("skip"); ?>
--FILE--
<?php
var_dump(filter_var('http://example.com/path', FILTER_VALIDATE_URL));
var_dump(filter_var('http://exa-mple.com/path', FILTER_VALIDATE_URL));
var_dump(filter_var('http://exa_mple.com/path', FILTER_VALIDATE_URL));
--EXPECT--
string(23) "http://example.com/path"
string(24) "http://exa-mple.com/path"
bool(false)