Skip to content

Fix GH-23899: Handle bailout from ZipArchive cancel callback return v… - #23914

Open
LamentXU123 wants to merge 2 commits into
php:PHP-8.6from
LamentXU123:fix-gh23899
Open

LamentXU123 wants to merge 2 commits into
php:PHP-8.6from
LamentXU123:fix-gh23899

Conversation

@LamentXU123

Copy link
Copy Markdown
Member

…alidation

Now, PHP 8.6 moved archive closing from free_obj to dtor_obj as a result that callbacks can run before the executor shuts down.If a cancel callback returns an invalid type during shutdown, it can cause assertion error.

Well PHP 8.5 closes the archive in free_obj, which is already marked as called so it does not have this double-release path. Here, we just catch the bailout from return-type validation using the existing bailout_callback mechanism

Comment thread ext/zip/php_zip.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants