summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xext/pdo/pdo_stmt.c25
1 files changed, 13 insertions, 12 deletions
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);