Skip to content

Commit 846c805

Browse files
committed
Merge branch 'PHP-5.5' into PHP-5.6
2 parents 96bb3b8 + 1e51c54 commit 846c805

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
- Filter:
1515
. Fixed bug #69202: (FILTER_FLAG_STRIP_BACKTICK ignored unless other
1616
flags are used). (Jeff Welch)
17+
. Fixed bug #69203 (FILTER_FLAG_STRIP_HIGH doesn't strip ASCII 127). (Jeff
18+
Welch)
1719

1820
- OpenSSL
1921
. Fixed bugs #68853, #65137 (Buffered crypto stream data breaks IO polling

ext/filter/sanitizing_filters.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ static void php_filter_strip(zval *value, long flags)
121121
buf = safe_emalloc(1, Z_STRLEN_P(value) + 1, 1);
122122
c = 0;
123123
for (i = 0; i < Z_STRLEN_P(value); i++) {
124-
if ((str[i] > 127) && (flags & FILTER_FLAG_STRIP_HIGH)) {
124+
if ((str[i] >= 127) && (flags & FILTER_FLAG_STRIP_HIGH)) {
125125
} else if ((str[i] < 32) && (flags & FILTER_FLAG_STRIP_LOW)) {
126126
} else if ((str[i] == '`') && (flags & FILTER_FLAG_STRIP_BACKTICK)) {
127127
} else {

ext/filter/tests/bug69203.phpt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
--TEST--
2+
Bug #69203 (FILTER_FLAG_STRIP_HIGH doesn't strip ASCII 127)
3+
--SKIPIF--
4+
<?php if (!extension_loaded("filter")) die("skip"); ?>
5+
--FILE--
6+
<?php
7+
var_dump(filter_var("\x7f", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH));
8+
var_dump(filter_var("\x7f", FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_HIGH));
9+
var_dump(filter_var("\x7f", FILTER_SANITIZE_ENCODED, FILTER_FLAG_STRIP_HIGH));
10+
var_dump(filter_var("\x7f", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_STRIP_HIGH));
11+
?>
12+
--EXPECT--
13+
string(0) ""
14+
string(0) ""
15+
string(0) ""
16+
string(0) ""

0 commit comments

Comments
 (0)