]> granicus.if.org Git - php/commitdiff
fix #36010 (Segfault when re-creating and re-executing statements with bound parameters)
authorAntony Dovgal <tony2001@php.net>
Fri, 3 Feb 2006 14:46:42 +0000 (14:46 +0000)
committerAntony Dovgal <tony2001@php.net>
Fri, 3 Feb 2006 14:46:42 +0000 (14:46 +0000)
NEWS
ext/oci8/oci8_statement.c

diff --git a/NEWS b/NEWS
index 0707bcd48eb6a4b24a6ec8704893ef5438e177b5..148c94a7f1c6fd5b50c317332982071c27ef42f1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -51,6 +51,8 @@ PHP                                                                        NEWS
 - Fixed bug #36016 (realpath cache memleaks). (Dmitry, Nuno)
 - Fixed bug #36011 (Strict errormsg wrong for call_user_func() and the likes).
   (Marcus)
+- Fixed bug #36010 (Segfault when re-creating and re-executing statements with 
+  bound parameters). (Tony)
 - Fixed bug #36006 (Problem with $this in __destruct()). (Dmitry)
 - Fixed bug #35999 (recursive mkdir() does not work with relative path
   like "foo/bar"). (Tony)
index dcb3130b7e92eefd5a5bc1105cf509769b7a4b8e..5f6559fcf48941378fcd7adab95b60d642a9d139 100644 (file)
@@ -70,7 +70,7 @@ php_oci_statement *php_oci_statement_create (php_oci_connection *connection, cha
                        php_oci_error(connection->err, connection->errcode TSRMLS_CC);
 
 #if HAVE_OCI_STMT_PREPARE2
-                       PHP_OCI_CALL(OCIStmtRelease, (statement->stmt, statement->err, NULL, 0, OCI_DEFAULT));
+                       PHP_OCI_CALL(OCIStmtRelease, (statement->stmt, statement->err, NULL, 0, OCI_STRLS_CACHE_DELETE));
                        PHP_OCI_CALL(OCIHandleFree,(statement->err, OCI_HTYPE_ERROR));
 #else
                        PHP_OCI_CALL(OCIHandleFree,(statement->stmt, OCI_HTYPE_STMT));
@@ -578,7 +578,7 @@ void php_oci_statement_free(php_oci_statement *statement TSRMLS_DC)
        if (statement->stmt) {
 #if HAVE_OCI_STMT_PREPARE2
                if (statement->last_query_len) { /* FIXME: magical */
-                       PHP_OCI_CALL(OCIStmtRelease, (statement->stmt, statement->err, NULL, 0, OCI_DEFAULT));
+                       PHP_OCI_CALL(OCIStmtRelease, (statement->stmt, statement->err, NULL, 0, OCI_STRLS_CACHE_DELETE));
                }
                else {
                        PHP_OCI_CALL(OCIHandleFree, (statement->stmt, OCI_HTYPE_STMT));