From: Christoph M. Becker Date: Mon, 15 Mar 2021 17:40:30 +0000 (+0100) Subject: Merge branch 'PHP-8.0' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b2bb98af977a4874cfcaf1c2570245b5f331eb4;p=php Merge branch 'PHP-8.0' * PHP-8.0: Fix #80817: dba_popen() may cause segfault during RSHUTDOWN --- 0b2bb98af977a4874cfcaf1c2570245b5f331eb4 diff --cc ext/dba/dba.c index ccf76d395b,7e8ef11b03..f0f1beed75 --- a/ext/dba/dba.c +++ b/ext/dba/dba.c @@@ -860,12 -860,12 +860,12 @@@ restart fcntl(info->fd, F_SETFL, flags & ~O_APPEND); #elif defined(PHP_WIN32) } else if (modenr == DBA_CREAT && need_creation && !restarted) { - zend_bool close_both; + 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;