diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index d2ea69c6fe98..a8a75eff7086 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -316,8 +316,8 @@ static int mysqli_object_has_property(zend_object *object, zend_string *name, in zval rv; zval *value = mysqli_read_property(object, name, BP_VAR_IS, cache_slot, &rv); if (value != &EG(uninitialized_zval)) { - convert_to_boolean(value); - has_property = Z_TYPE_P(value) == IS_TRUE; + has_property = zval_is_true(value); + zval_ptr_dtor(value); } break; } diff --git a/ext/mysqli/tests/mysqli_object_has_property.phpt b/ext/mysqli/tests/mysqli_object_has_property.phpt new file mode 100644 index 000000000000..dd4d1b586e51 --- /dev/null +++ b/ext/mysqli/tests/mysqli_object_has_property.phpt @@ -0,0 +1,13 @@ +--TEST-- +Test mysqli_object_has_property() internal object handler +--EXTENSIONS-- +mysqli +--FILE-- +client_info)); +var_dump(empty($driver->client_info)); +?> +--EXPECT-- +bool(true) +bool(false)