From: Ilia Alshanetsky Date: Mon, 7 Dec 2009 13:43:44 +0000 (+0000) Subject: Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. X-Git-Tag: php-5.4.0alpha1~191^2~2296 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9f3ec3c5ded16e11ce4a45f0d51c498583b677bd;p=php Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. --- diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 1067d90d32..7e57b81535 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -251,6 +251,7 @@ PHP_MINIT_FUNCTION(filter) REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_BACKTICK", FILTER_FLAG_STRIP_BACKTICK, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_LOW", FILTER_FLAG_ENCODE_LOW, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_HIGH", FILTER_FLAG_ENCODE_HIGH, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_CS | CONST_PERSISTENT); diff --git a/ext/filter/filter_private.h b/ext/filter/filter_private.h index cb74229af4..6a281c6e44 100644 --- a/ext/filter/filter_private.h +++ b/ext/filter/filter_private.h @@ -39,6 +39,7 @@ #define FILTER_FLAG_ENCODE_AMP 0x0040 #define FILTER_FLAG_NO_ENCODE_QUOTES 0x0080 #define FILTER_FLAG_EMPTY_STRING_NULL 0x0100 +#define FILTER_FLAG_STRIP_BACKTICK 0x0200 #define FILTER_FLAG_ALLOW_FRACTION 0x1000 #define FILTER_FLAG_ALLOW_THOUSAND 0x2000 diff --git a/ext/filter/sanitizing_filters.c b/ext/filter/sanitizing_filters.c index 2d5d6272b6..2f84afc6ed 100644 --- a/ext/filter/sanitizing_filters.c +++ b/ext/filter/sanitizing_filters.c @@ -123,6 +123,7 @@ static void php_filter_strip(zval *value, long flags) for (i = 0; i < Z_STRLEN_P(value); i++) { if ((str[i] > 127) && (flags & FILTER_FLAG_STRIP_HIGH)) { } else if ((str[i] < 32) && (flags & FILTER_FLAG_STRIP_LOW)) { + } else if ((str[i] == '`') && (flags & FILTER_FLAG_STRIP_BACKTICK)) { } else { buf[c] = str[i]; ++c;