mirror of
https://github.com/php/php-src.git
synced 2026-03-28 10:12:18 +01:00
Fix for Bug #17572
This commit is contained in:
@@ -211,8 +211,23 @@ static void safe_odbc_disconnect( void *handle )
|
||||
*/
|
||||
static void _close_odbc_conn(zend_rsrc_list_entry *rsrc TSRMLS_DC)
|
||||
{
|
||||
int i, nument, type;
|
||||
void *ptr;
|
||||
odbc_result *res;
|
||||
|
||||
odbc_connection *conn = (odbc_connection *)rsrc->ptr;
|
||||
|
||||
nument = zend_hash_next_free_element(&EG(regular_list));
|
||||
for(i = 1; i < nument; i++) {
|
||||
ptr = zend_list_find(i, &type);
|
||||
if (ptr && (type == le_result)) {
|
||||
res = (odbc_result *)ptr;
|
||||
if (res->conn_ptr == conn) {
|
||||
zend_list_delete(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
safe_odbc_disconnect(conn->hdbc);
|
||||
SQLFreeConnect(conn->hdbc);
|
||||
SQLFreeEnv(conn->henv);
|
||||
@@ -225,7 +240,21 @@ static void _close_odbc_conn(zend_rsrc_list_entry *rsrc TSRMLS_DC)
|
||||
*/
|
||||
static void _close_odbc_pconn(zend_rsrc_list_entry *rsrc TSRMLS_DC)
|
||||
{
|
||||
int i, nument, type;
|
||||
void *ptr;
|
||||
odbc_result *res;
|
||||
odbc_connection *conn = (odbc_connection *)rsrc->ptr;
|
||||
|
||||
nument = zend_hash_next_free_element(&EG(regular_list));
|
||||
for(i = 1; i < nument; i++) {
|
||||
ptr = zend_list_find(i, &type);
|
||||
if (ptr && (type == le_result)) {
|
||||
res = (odbc_result *)ptr;
|
||||
if (res->conn_ptr == conn) {
|
||||
zend_list_delete(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
safe_odbc_disconnect(conn->hdbc);
|
||||
SQLFreeConnect(conn->hdbc);
|
||||
|
||||
Reference in New Issue
Block a user