summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2006-02-03 14:46:42 +0000
committerAntony Dovgal <tony2001@php.net>2006-02-03 14:46:42 +0000
commit52232a7f7aaeb72e25f0134ac9142cfb3f6795d9 (patch)
tree97c538a5f95e85f603dd9066991451390562abc4
parentb179e081ab28aa494548ea6bea290f53cb79ca62 (diff)
downloadphp-git-52232a7f7aaeb72e25f0134ac9142cfb3f6795d9.tar.gz
fix #36010 (Segfault when re-creating and re-executing statements with bound parameters)
-rw-r--r--NEWS2
-rw-r--r--ext/oci8/oci8_statement.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 0707bcd48e..148c94a7f1 100644
--- 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)
diff --git a/ext/oci8/oci8_statement.c b/ext/oci8/oci8_statement.c
index dcb3130b7e..5f6559fcf4 100644
--- a/ext/oci8/oci8_statement.c
+++ b/ext/oci8/oci8_statement.c
@@ -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));