diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index 8921cc14964..9ddbe77e00b 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -1015,6 +1015,15 @@ static void _oci_conn_list_dtor(oci_connection *connection TSRMLS_DC) ) ); } + + if (connection->pError) { + CALL_OCI( + OCIHandleFree( + (dvoid *) connection->pError, + (ub4) OCI_HTYPE_ERROR + ) + ); + } if (connection->session && connection->session->exclusive) { /* close associated session when destructed */ @@ -1026,15 +1035,6 @@ static void _oci_conn_list_dtor(oci_connection *connection TSRMLS_DC) efree(connection->descriptors); } - if (connection->pError) { - CALL_OCI( - OCIHandleFree( - (dvoid *) connection->pError, - (ub4) OCI_HTYPE_ERROR - ) - ); - } - oci_debug("END _oci_conn_list_dtor: id=%d",connection->id); efree(connection); @@ -3694,6 +3694,8 @@ break; } value_sz = sizeof(void*); break; + case SQLT_CHR: + break; default: php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown or unsupported datatype given: %u", ocitype); RETURN_FALSE;