summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2021-03-15 18:39:11 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2021-03-15 18:39:26 +0100
commiteae69fcf71d76b349fab892c1102a58a931f5a96 (patch)
treea86215654827fc07c562055f110ce0defe2849da
parent50254de0a2cc63570a5caf7666151a77e7bd0b7a (diff)
parentf448b0e6dd3a1bd3a009c2e94c539a038f834c4d (diff)
downloadphp-git-eae69fcf71d76b349fab892c1102a58a931f5a96.tar.gz
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4: Fix #80817: dba_popen() may cause segfault during RSHUTDOWN
-rw-r--r--NEWS3
-rw-r--r--ext/dba/dba.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 5992e61392..452c9889d9 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,9 @@ PHP NEWS
. Fixed bug #80814 (threaded mod_php won't load on FreeBSD: No space
available for static Thread Local Storage). (Dmitry)
+- Dba:
+ . Fixed bug #80817 (dba_popen() may cause segfault during RSHUTDOWN). (cmb)
+
- IMAP:
. Fixed bug #80800 (imap_open() fails when the flags parameter includes
CL_EXPUNGE). (girgias)
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index b3c9f4eeb2..7e8ef11b03 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -863,9 +863,9 @@ restart:
zend_bool close_both;
close_both = (info->fp != info->lock.fp);
- php_stream_close(info->lock.fp);
+ php_stream_free(info->lock.fp, persistent ? PHP_STREAM_FREE_CLOSE_PERSISTENT : PHP_STREAM_FREE_CLOSE);
if (close_both) {
- php_stream_close(info->fp);
+ php_stream_free(info->fp, persistent ? PHP_STREAM_FREE_CLOSE_PERSISTENT : PHP_STREAM_FREE_CLOSE);
}
info->fp = NULL;
info->lock.fp = NULL;