]> granicus.if.org Git - php/commitdiff
We can't dereference dbh if it is NULL
authorJohannes Schlüter <johannes@php.net>
Sun, 23 Feb 2014 13:18:24 +0000 (14:18 +0100)
committerJohannes Schlüter <johannes@php.net>
Sun, 23 Feb 2014 13:18:24 +0000 (14:18 +0100)
ext/pdo_mysql/pdo_mysql.c

index 95f2840fcb5432fd5f1e5a2201ad0b9b026b0ca4..697e7c0b5880c564eb2bb08f2602d7e1e6eed3df 100644 (file)
@@ -64,7 +64,12 @@ static MYSQLND * pdo_mysql_convert_zv_to_mysqlnd(zval * zv TSRMLS_DC)
        if (Z_TYPE_P(zv) == IS_OBJECT && instanceof_function(Z_OBJCE_P(zv), php_pdo_get_dbh_ce() TSRMLS_CC)) {
                pdo_dbh_t * dbh = zend_object_store_get_object(zv TSRMLS_CC);
 
-               if (!dbh || dbh->driver != &pdo_mysql_driver) {
+               if (!dbh) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to retrieve handle from object store");
+                       return NULL;
+               }
+
+               if (dbh->driver != &pdo_mysql_driver) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Provided PDO instance is not using MySQL but %s", dbh->driver->driver_name);
                        return NULL;
                }