diff options
Diffstat (limited to 'ext/sybase/sybase.c')
-rw-r--r-- | ext/sybase/sybase.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/sybase/sybase.c b/ext/sybase/sybase.c index d28a329e25..bb400d0a3e 100644 --- a/ext/sybase/sybase.c +++ b/ext/sybase/sybase.c @@ -160,6 +160,13 @@ static void _free_sybase_result(sybase_result *result) static void _close_sybase_link(sybase_link *sybase_ptr) { sybase_ptr->valid = 0; + + /* + this can cause crashes in the current model. + if the resource gets destroyed via destroy_resource_list() resource_list + will *not* be in a consistent state. thies@digicol.de + */ + zend_hash_apply(resource_list,(int (*)(void *))_clean_invalid_results); dbclose(sybase_ptr->link); dbloginfree(sybase_ptr->login); |