diff options
author | Jeff Welch <whatthejeff@gmail.com> | 2015-03-09 03:54:19 -0400 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2015-03-09 17:14:47 +0800 |
commit | fdbdb1151457a59bc6598de4b98b12aa522b4134 (patch) | |
tree | 23f9f364ad927ff873b5b39766db7435459fc551 /ext/filter | |
parent | 2a2c74997dd754b27c5d890c0025001878318664 (diff) | |
download | php-git-fdbdb1151457a59bc6598de4b98b12aa522b4134.tar.gz |
Fix #69202: FILTER_FLAG_STRIP_BACKTICK ignored unless other flags are used.
Diffstat (limited to 'ext/filter')
-rw-r--r-- | ext/filter/sanitizing_filters.c | 2 | ||||
-rw-r--r-- | ext/filter/tests/bug69202.phpt | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/ext/filter/sanitizing_filters.c b/ext/filter/sanitizing_filters.c index f786f29ce7..43241cc1ef 100644 --- a/ext/filter/sanitizing_filters.c +++ b/ext/filter/sanitizing_filters.c @@ -115,7 +115,7 @@ static void php_filter_strip(zval *value, zend_long flags) zend_string *buf; /* Optimization for if no strip flags are set */ - if (! ((flags & FILTER_FLAG_STRIP_LOW) || (flags & FILTER_FLAG_STRIP_HIGH)) ) { + if (!(flags & (FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK))) { return; } diff --git a/ext/filter/tests/bug69202.phpt b/ext/filter/tests/bug69202.phpt new file mode 100644 index 0000000000..992298611f --- /dev/null +++ b/ext/filter/tests/bug69202.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #69202 (FILTER_FLAG_STRIP_BACKTICK ignored unless other flags are used) +--SKIPIF-- +<?php if (!extension_loaded("filter")) die("skip"); ?> +--FILE-- +<?php +var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_BACKTICK)); +var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_BACKTICK)); +var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK)); +var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH)); +?> +--EXPECT-- +string(3) "abc" +string(3) "abc" +string(3) "abc" +string(9) "``a`b`c``" |