diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2021-03-01 18:14:26 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2021-03-15 18:37:44 +0100 |
commit | f448b0e6dd3a1bd3a009c2e94c539a038f834c4d (patch) | |
tree | eaaddf59cdc4fd8699a474d37b129dcc81e91046 /ext/dba | |
parent | 282355efd5d53ba180d30794737c33898031104e (diff) | |
download | php-git-f448b0e6dd3a1bd3a009c2e94c539a038f834c4d.tar.gz |
Fix #80817: dba_popen() may cause segfault during RSHUTDOWN
We need to close persistent streams with the proper flag.
Diffstat (limited to 'ext/dba')
-rw-r--r-- | ext/dba/dba.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/dba/dba.c b/ext/dba/dba.c index 952993582b..9581a57148 100644 --- a/ext/dba/dba.c +++ b/ext/dba/dba.c @@ -972,9 +972,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; |