[php-src] PR #23282: Fix GH-23276: Collect ZipArchive subclasses holding their own streams
| From: | LamentXU123 | Date: | Fri, 14 Aug 2026 16:07:13 +0000 |
| Subject: | [php-src] PR #23282: Fix GH-23276: Collect ZipArchive subclasses holding their own streams | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-37872@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/23282
Author: LamentXU123
I actually doubt this is a bug in the Zend engine. But since I am not familiar of how Zend GC works,
I'd fix this is a completely ext/zip way, to replace the stream's reference to the
ZipArchive object with a refcounted archive state, so a stream can keep the underlying
zip_t without preventing its owning ZipArchive object from being GC-ed.
There can be better fixes, as I said, to fix in the Zend engine. But I think this is a very rare
case happening in the zip extension, so I'd rather re-implement it than touching Zend core, so
we don't bother other code.