[php-src] PR #23079: Zend: compile time assert on Bucket size
| From: | Sjord | Date: | Thu, 06 Aug 2026 10:08:15 +0000 |
| Subject: | [php-src] PR #23079: Zend: compile time assert on Bucket size | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-37576@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/23079
Author: Sjord
In zend_compile.c, flags are stored in the lower bits of the Bucket address. If Bucket is aligned to
8 bytes, the lower three bits are always zero and this gives no problems. If the Bucket is not
aligned, this results in non-obvious errors because the memory address and the flags overlap. This
is difficult to debug when it happens, so add this assertion to make it more obvious what is wrong.
The flags are ZEND_BIND_REF, ZEND_BIND_IMPLICIT, ZEND_BIND_EXPLICIT.
Related to https://github.com/php/php-src/pull/19079