From: Wez Furlong Date: Fri, 8 Jul 2005 15:25:15 +0000 (+0000) Subject: Fix a shutdown order issue I saw in the pgsql driver. Hope this doesn't mess X-Git-Tag: php-5.1.0b3~92 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8f31f0cfaae6f944fb4d0823d2d71d830f139973;p=php Fix a shutdown order issue I saw in the pgsql driver. Hope this doesn't mess up something in the OCI driver; I think I've been here before. --- diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 4676395f0b..4f765ffa20 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -1838,6 +1838,19 @@ static void free_statement(pdo_stmt_t *stmt TSRMLS_DC) stmt->properties = NULL; } + if (stmt->bound_params) { + zend_hash_destroy(stmt->bound_params); + FREE_HASHTABLE(stmt->bound_params); + } + if (stmt->bound_param_map) { + zend_hash_destroy(stmt->bound_param_map); + FREE_HASHTABLE(stmt->bound_param_map); + } + if (stmt->bound_columns) { + zend_hash_destroy(stmt->bound_columns); + FREE_HASHTABLE(stmt->bound_columns); + } + if (stmt->methods && stmt->methods->dtor) { stmt->methods->dtor(stmt TSRMLS_CC); } @@ -1855,18 +1868,6 @@ static void free_statement(pdo_stmt_t *stmt TSRMLS_DC) efree(stmt->columns); } - if (stmt->bound_params) { - zend_hash_destroy(stmt->bound_params); - FREE_HASHTABLE(stmt->bound_params); - } - if (stmt->bound_param_map) { - zend_hash_destroy(stmt->bound_param_map); - FREE_HASHTABLE(stmt->bound_param_map); - } - if (stmt->bound_columns) { - zend_hash_destroy(stmt->bound_columns); - FREE_HASHTABLE(stmt->bound_columns); - } do_fetch_opt_finish(stmt, 1 TSRMLS_CC);