diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-03-25 16:42:48 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-03-25 16:43:21 +0100 |
commit | 91d4d175ab1a0288f4e37d64a8ec948958ed9528 (patch) | |
tree | e3ab0aa5d5e6a7df2454aa187dc5bcae88e36e0b | |
parent | 93740a2482d5164cf790d38fae018ce4c58d9225 (diff) | |
parent | 85095dfd0956bc09f5157211948c40cfa2859d27 (diff) | |
download | php-git-91d4d175ab1a0288f4e37d64a8ec948958ed9528.tar.gz |
Merge branch 'PHP-7.2' into PHP-7.3
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | ext/interbase/interbase.c | 12 |
2 files changed, 11 insertions, 5 deletions
@@ -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); } |