summaryrefslogtreecommitdiff
path: root/ext/oci8/oci8_interface.c
diff options
context:
space:
mode:
authorChristopher Jones <sixd@php.net>2008-02-25 23:50:51 +0000
committerChristopher Jones <sixd@php.net>2008-02-25 23:50:51 +0000
commitb4b099ae1971a3987b83ef64f96b91e7cb6ddd81 (patch)
treee132736ec54b941f9b682c0aec11372fc530232c /ext/oci8/oci8_interface.c
parent6e46f25b129ba5e1575b2160e1168bf4d017e1ca (diff)
downloadphp-git-b4b099ae1971a3987b83ef64f96b91e7cb6ddd81.tar.gz
MFH: OCI8: fix bug #44008 (OCI-Lob->close) & bug #44206 (ref cursor leak)
Diffstat (limited to 'ext/oci8/oci8_interface.c')
-rw-r--r--ext/oci8/oci8_interface.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/oci8/oci8_interface.c b/ext/oci8/oci8_interface.c
index f093c45a1e..40efb9ce0c 100644
--- a/ext/oci8/oci8_interface.c
+++ b/ext/oci8/oci8_interface.c
@@ -1509,10 +1509,11 @@ PHP_FUNCTION(oci_free_statement)
}
PHP_OCI_ZVAL_TO_STATEMENT(z_statement, statement);
- if (!statement->nested) {
- /* nested cursors cannot be freed, they are allocated once and used during the fetch */
- zend_list_delete(statement->id);
- }
+
+ zend_list_delete(statement->id);
+ if (statement->parent_stmtid) {
+ zend_list_delete(statement->parent_stmtid);
+ }
RETURN_TRUE;
}