From 540f052242221a6add14ed531965bf913ea93f96 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 18 Feb 2020 10:01:17 +0100 Subject: [PATCH] Fix zpp in mysqli_warning::next() This only exists as a method, so using zend_parse_method_parameters doesn't make sense. Also make sure that zpp is always called, not only conditionally. --- ext/mysqli/mysqli_warning.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/ext/mysqli/mysqli_warning.c b/ext/mysqli/mysqli_warning.c index 380d2e3fd9..a76c1b1a3f 100644 --- a/ext/mysqli/mysqli_warning.c +++ b/ext/mysqli/mysqli_warning.c @@ -175,16 +175,14 @@ MYSQLI_WARNING * php_get_warnings(MYSQLND_CONN_DATA * mysql) PHP_METHOD(mysqli_warning, next) { MYSQLI_WARNING *w; - zval *mysqli_warning; - mysqli_object *obj = Z_MYSQLI_P(getThis()); + mysqli_object *obj = Z_MYSQLI_P(ZEND_THIS); - if (obj->ptr) { - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", - &mysqli_warning, mysqli_warning_class_entry) == FAILURE) { - RETURN_THROWS(); - } + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); + } - MYSQLI_FETCH_RESOURCE(w, MYSQLI_WARNING *, mysqli_warning, "mysqli_warning", MYSQLI_STATUS_VALID); + if (obj->ptr) { + MYSQLI_FETCH_RESOURCE(w, MYSQLI_WARNING *, ZEND_THIS, "mysqli_warning", MYSQLI_STATUS_VALID); if (w && w->next) { w = w->next; -- 2.40.0