[php-src] PR #23734: ext/sqlite3: hold the callback guard until the callback's values are gone
| From: | iliaal | Date: | Thu, 17 Sep 2026 18:18:08 +0000 |
| Subject: | [php-src] PR #23734: ext/sqlite3: hold the callback guard until the callback's values are gone | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-38538@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/23734
Author: iliaal
GH-23650 made SQLite3::close() throw while a callback is running, but each callback wrapper dropped
its re-entry counter as soon as the userland call returned, before the return value and arguments
were converted and released. A destructor firing during that release still runs with sqlite3 on the
stack, so it could close the database and finalize the statement being stepped, reaching the crash
GH-23650 was meant to stop. Found while auditing the sibling in php/php-src#23728.