Skip to content

Commit 1a30a7a

Browse files
committed
Merge branch 'PHP-5.6' into PHP-7.0
2 parents 807c49e + 23e721f commit 1a30a7a

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ PHP NEWS
99
- Filter:
1010
. Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and
1111
FILTER_FLAG_NO_PRIV_RANGE). (julien)
12+
. Fixed bug #73054 (default option ignored when object passed to int filter).
13+
(cmb)
1214

1315
- GD:
1416
. Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette).

ext/filter/filter.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ static void php_zval_filter(zval *value, zend_long filter, zend_long flags, zval
395395
} else {
396396
ZVAL_FALSE(value);
397397
}
398-
return;
398+
goto handle_default;
399399
}
400400
}
401401

@@ -404,6 +404,7 @@ static void php_zval_filter(zval *value, zend_long filter, zend_long flags, zval
404404

405405
filter_func.function(value, flags, options, charset);
406406

407+
handle_default:
407408
if (options && (Z_TYPE_P(options) == IS_ARRAY || Z_TYPE_P(options) == IS_OBJECT) &&
408409
((flags & FILTER_NULL_ON_FAILURE && Z_TYPE_P(value) == IS_NULL) ||
409410
(!(flags & FILTER_NULL_ON_FAILURE) && Z_TYPE_P(value) == IS_FALSE)) &&

ext/filter/tests/bug73054.phpt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--TEST--
2+
Bug #73054 (default option ignored when object passed to int filter)
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('filter')) die('skip filter extension not available');
6+
?>
7+
--FILE--
8+
<?php
9+
var_dump(
10+
filter_var(new stdClass, FILTER_VALIDATE_INT, [
11+
'options' => ['default' => 2],
12+
]),
13+
filter_var(new stdClass, FILTER_VALIDATE_INT, [
14+
'options' => ['default' => 2],
15+
'flags' => FILTER_NULL_ON_FAILURE
16+
])
17+
);
18+
?>
19+
===DONE===
20+
--EXPECT--
21+
int(2)
22+
int(2)
23+
===DONE===

0 commit comments

Comments
 (0)