From c26725cc1a47dd7624f159ae723f9d14c879d51e Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Tue, 31 Jul 2007 21:08:38 +0000 Subject: [PATCH] missing part of the fix for bug #42134 --- ext/oci8/oci8_interface.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/ext/oci8/oci8_interface.c b/ext/oci8/oci8_interface.c index 823975f61b6..192e9125298 100644 --- a/ext/oci8/oci8_interface.c +++ b/ext/oci8/oci8_interface.c @@ -1622,19 +1622,28 @@ PHP_FUNCTION(oci_error) RETURN_FALSE; } #endif - } else { - connection = (php_oci_connection *) zend_fetch_resource(&arg TSRMLS_CC, -1, NULL, NULL, 1, le_connection); - - if (connection) { - errh = connection->err; - error = connection->errcode; - } + goto go_out; + } + + connection = (php_oci_connection *) zend_fetch_resource(&arg TSRMLS_CC, -1, NULL, NULL, 1, le_connection); + if (connection) { + errh = connection->err; + error = connection->errcode; + goto go_out; + } + + connection = (php_oci_connection *) zend_fetch_resource(&arg TSRMLS_CC, -1, NULL, NULL, 1, le_pconnection); + if (connection) { + errh = connection->err; + error = connection->errcode; + goto go_out; } } else { errh = OCI_G(err); error = OCI_G(errcode); } +go_out: if (error == OCI_SUCCESS) { /* no error set in the handle */ RETURN_FALSE; }