@@ -441,7 +441,7 @@ static void php_oci_init_global_handles(TSRMLS_D)
441
441
static void php_oci_cleanup_global_handles (TSRMLS_D )
442
442
{
443
443
if (OCI_G (err )) {
444
- PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) OCI_G (err ), OCI_HTYPE_ENV ));
444
+ PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) OCI_G (err ), OCI_HTYPE_ERROR ));
445
445
OCI_G (err ) = NULL ;
446
446
}
447
447
@@ -1408,30 +1408,30 @@ static int php_oci_connection_close(php_oci_connection *connection TSRMLS_DC)
1408
1408
}
1409
1409
}
1410
1410
1411
+ if (connection -> svc && connection -> session && connection -> is_open ) {
1412
+ PHP_OCI_CALL (OCISessionEnd , (connection -> svc , OCI_G (err ), connection -> session , (ub4 ) 0 ));
1413
+ }
1414
+
1415
+ if (connection -> session ) {
1416
+ PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> session , OCI_HTYPE_SESSION ));
1417
+ }
1418
+
1411
1419
if (connection -> is_attached ) {
1412
1420
PHP_OCI_CALL (OCIServerDetach , (connection -> server , OCI_G (err ), OCI_DEFAULT ));
1413
1421
}
1414
1422
1423
+ if (connection -> svc ) {
1424
+ PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> svc , (ub4 ) OCI_HTYPE_SVCCTX ));
1425
+ }
1426
+
1415
1427
if (connection -> err ) {
1416
1428
PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> err , (ub4 ) OCI_HTYPE_ERROR ));
1417
1429
}
1418
-
1419
- if (connection -> session ) {
1420
- PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> session , OCI_HTYPE_SESSION ));
1421
- }
1422
1430
1423
1431
if (connection -> server ) {
1424
1432
PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> server , (ub4 ) OCI_HTYPE_SERVER ));
1425
1433
}
1426
1434
1427
- if (connection -> svc ) {
1428
- if (connection -> session && connection -> is_open ) {
1429
- PHP_OCI_CALL (OCISessionEnd , (connection -> svc , OCI_G (err ), connection -> session , (ub4 ) 0 ));
1430
- }
1431
-
1432
- PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> svc , (ub4 ) OCI_HTYPE_SVCCTX ));
1433
- }
1434
-
1435
1435
if (connection -> env ) {
1436
1436
PHP_OCI_CALL (OCIHandleFree , ((dvoid * ) connection -> env , OCI_HTYPE_ENV ));
1437
1437
}
0 commit comments