]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-8.0'
authorChristoph M. Becker <cmbecker69@gmx.de>
Mon, 15 Mar 2021 17:40:30 +0000 (18:40 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Mon, 15 Mar 2021 17:40:30 +0000 (18:40 +0100)
* PHP-8.0:
  Fix #80817: dba_popen() may cause segfault during RSHUTDOWN

1  2 
ext/dba/dba.c

diff --cc ext/dba/dba.c
index ccf76d395baeb21f2bcd2f34896ac644108cea83,7e8ef11b03d0f94ced3de5bc2884658458f85e7b..f0f1beed75274d4e955c931b66134208da9eac4b
@@@ -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;