From: Adam Baratz Date: Wed, 21 Sep 2016 16:00:19 +0000 (-0400) Subject: Move dtor before memory freed to avoid invalid read X-Git-Tag: php-7.0.12RC1~36 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b29ad29b916c367527732f8d529bf11fc2854bb0;p=php Move dtor before memory freed to avoid invalid read --- diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index 3e0529fa1d..b8ec4fb48e 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -83,6 +83,7 @@ static int dblib_handle_closer(pdo_dbh_t *dbh) pdo_dblib_db_handle *H = (pdo_dblib_db_handle *)dbh->driver_data; if (H) { + pdo_dblib_err_dtor(&H->err); if (H->link) { dbclose(H->link); H->link = NULL; @@ -93,7 +94,6 @@ static int dblib_handle_closer(pdo_dbh_t *dbh) } pefree(H, dbh->is_persistent); dbh->driver_data = NULL; - pdo_dblib_err_dtor(&H->err); } return 0; }