diff --git a/NEWS b/NEWS index 9a15e47f069..6f4a3f1b7bc 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ PHP NEWS - Fixed bug #50636 (MySQLi_Result sets values before calling constructor). (Pierrick) +- Fixed bug #50632 (filter_input() does not return default value if the + variable does not exist). (Ilia) - Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive in HTTP uploads). (Ilia) - Fixed bug #47409 (extract() problem with array containing word "this"). diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 517bf2e4f9a..e417e5d9d86 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -768,7 +768,8 @@ PHP_FUNCTION(filter_input) filter_flags = Z_LVAL_PP(filter_args); } else if (Z_TYPE_PP(filter_args) == IS_ARRAY && zend_hash_find(HASH_OF(*filter_args), "flags", sizeof("flags"), (void **)&option) == SUCCESS) { PHP_FILTER_GET_LONG_OPT(option, filter_flags); - } else if (Z_TYPE_PP(filter_args) == IS_ARRAY && + } + if (Z_TYPE_PP(filter_args) == IS_ARRAY && zend_hash_find(HASH_OF(*filter_args), "options", sizeof("options"), (void **)&opt) == SUCCESS && Z_TYPE_PP(opt) == IS_ARRAY && zend_hash_find(HASH_OF(*opt), "default", sizeof("default"), (void **)&def) == SUCCESS