Skip to content

Commit

Permalink
Fix for Bug #17572
Browse files Browse the repository at this point in the history
  • Loading branch information
Dan Kalowsky committed Aug 13, 2002
1 parent 19e42a2 commit 2f1b639
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions ext/odbc/php_odbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 2f1b639

Please sign in to comment.