summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-03-25 16:43:33 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-03-25 16:43:33 +0100
commit5c26268e7634b55684e175d95e40dc46815cd910 (patch)
tree7ee7010e6b4b0089e1e700948c13dcfd33d0620c
parent071ffa2e7946a8f4fca856c9984be512d1eadbbc (diff)
parent91d4d175ab1a0288f4e37d64a8ec948958ed9528 (diff)
downloadphp-git-5c26268e7634b55684e175d95e40dc46815cd910.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
-rw-r--r--ext/interbase/interbase.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c
index 0ffafb2c7a..b69a76f26e 100644
--- a/ext/interbase/interbase.c
+++ b/ext/interbase/interbase.c
@@ -939,13 +939,15 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /*
xlink = (zend_resource*) le->ptr;
if ((!persistent && xlink->type == le_link) || xlink->type == le_plink) {
- if (IBG(default_link)) {
- zend_list_close(IBG(default_link));
+ if (IBG(default_link) != xlink) {
+ GC_ADDREF(xlink);
+ if (IBG(default_link)) {
+ zend_list_delete(IBG(default_link));
+ }
+ IBG(default_link) = xlink;
}
GC_ADDREF(xlink);
- GC_ADDREF(xlink);
- IBG(default_link) = xlink;
- RETVAL_RES(xlink);
+ RETURN_RES(xlink);
} else {
zend_hash_str_del(&EG(regular_list), hash, sizeof(hash)-1);
}