summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-03-25 16:42:48 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-03-25 16:43:21 +0100
commit91d4d175ab1a0288f4e37d64a8ec948958ed9528 (patch)
treee3ab0aa5d5e6a7df2454aa187dc5bcae88e36e0b
parent93740a2482d5164cf790d38fae018ce4c58d9225 (diff)
parent85095dfd0956bc09f5157211948c40cfa2859d27 (diff)
downloadphp-git-91d4d175ab1a0288f4e37d64a8ec948958ed9528.tar.gz
Merge branch 'PHP-7.2' into PHP-7.3
-rw-r--r--NEWS4
-rw-r--r--ext/interbase/interbase.c12
2 files changed, 11 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 9f3dd9916a..749ca91a7a 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.3.5
+- interbase:
+ . Fixed bug #72175 (Impossibility of creating multiple connections to
+ Interbase with php 7.x). (Nikita)
+
- MySQLi:
. Fixed bug #77773 (Unbuffered queries leak memory - MySQLi / mysqlnd).
(Nikita)
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c
index 478133296b..d62085ccdb 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);
}