From 0d4abe6ba81b898d7e6c45596efbfc9578911291 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sat, 12 Sep 2020 23:53:52 +0200 Subject: [PATCH 1/2] Convert warning to assetion in MySQL PDO driver --- ext/pdo_mysql/pdo_mysql.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c index 73b4ccd7b13c2..576b3d14296d6 100644 --- a/ext/pdo_mysql/pdo_mysql.c +++ b/ext/pdo_mysql/pdo_mysql.c @@ -68,10 +68,7 @@ static MYSQLND * pdo_mysql_convert_zv_to_mysqlnd(zval * zv) return NULL; } - if (dbh->driver != &pdo_mysql_driver) { - php_error_docref(NULL, E_WARNING, "Provided PDO instance is not using MySQL but %s", dbh->driver->driver_name); - return NULL; - } + ZEND_ASSERT(dbh->driver == &pdo_mysql_driver); return ((pdo_mysql_db_handle *)dbh->driver_data)->server; } From 6d762b8ce6300fb001b801631399b5fc7f7e5f2c Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 14 Sep 2020 23:49:25 +0200 Subject: [PATCH 2/2] Revert and change prior check to assertion --- ext/pdo_mysql/pdo_mysql.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c index 576b3d14296d6..84828edaa45ae 100644 --- a/ext/pdo_mysql/pdo_mysql.c +++ b/ext/pdo_mysql/pdo_mysql.c @@ -63,13 +63,13 @@ static MYSQLND * pdo_mysql_convert_zv_to_mysqlnd(zval * zv) if (Z_TYPE_P(zv) == IS_OBJECT && instanceof_function(Z_OBJCE_P(zv), php_pdo_get_dbh_ce())) { pdo_dbh_t * dbh = Z_PDO_DBH_P(zv); - if (!dbh) { - php_error_docref(NULL, E_WARNING, "Failed to retrieve handle from object store"); + ZEND_ASSERT(dbh); + + if (dbh->driver != &pdo_mysql_driver) { + php_error_docref(NULL, E_WARNING, "Provided PDO instance is not using MySQL but %s", dbh->driver->driver_name); return NULL; } - ZEND_ASSERT(dbh->driver == &pdo_mysql_driver); - return ((pdo_mysql_db_handle *)dbh->driver_data)->server; } return NULL;