]> granicus.if.org Git - php/commitdiff
Fix a shutdown order issue I saw in the pgsql driver. Hope this doesn't mess
authorWez Furlong <wez@php.net>
Fri, 8 Jul 2005 15:25:15 +0000 (15:25 +0000)
committerWez Furlong <wez@php.net>
Fri, 8 Jul 2005 15:25:15 +0000 (15:25 +0000)
up something in the OCI driver; I think I've been here before.

ext/pdo/pdo_stmt.c

index 4676395f0b4cb61e98d16199e750c084c07856be..4f765ffa2035595e6298f4b3491746fc36dbfe18 100755 (executable)
@@ -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);