diff --git a/NEWS b/NEWS index 5992e61392a..452c9889d9c 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 b3c9f4eeb22..7e8ef11b03d 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;