diff options
-rw-r--r-- | ext/filter/logical_filters.c | 4 | ||||
-rw-r--r-- | ext/filter/tests/bug64441.phpt | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c index 58d5870c11..c8f94a772c 100644 --- a/ext/filter/logical_filters.c +++ b/ext/filter/logical_filters.c @@ -484,10 +484,6 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */ } s++; } - - if (*(e - 1) == '.') { - goto bad_url; - } } if ( diff --git a/ext/filter/tests/bug64441.phpt b/ext/filter/tests/bug64441.phpt new file mode 100644 index 0000000000..149079ec05 --- /dev/null +++ b/ext/filter/tests/bug64441.phpt @@ -0,0 +1,11 @@ +--TEST-- +bug 64441, FILTER_VALIDATE_URL will invalidate a hostname that ended by dot +--SKIPIF-- +<?php if (!extension_loaded("filter")) die("skip"); ?> +--FILE-- +<?php +var_dump(filter_var('http://example.com./', FILTER_VALIDATE_URL)); +var_dump(filter_var('http://example.com/', FILTER_VALIDATE_URL)); +--EXPECT-- +string(20) "http://example.com./" +string(19) "http://example.com/" |