From b29ad29b916c367527732f8d529bf11fc2854bb0 Mon Sep 17 00:00:00 2001 From: Adam Baratz Date: Wed, 21 Sep 2016 12:00:19 -0400 Subject: [PATCH] Move dtor before memory freed to avoid invalid read --- ext/pdo_dblib/dblib_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index 3e0529fa1d7..b8ec4fb48e2 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; }