[php-src] PHP-8.5: Backport GH-24241 to 8.4

From: Date: Sat, 10 Oct 2026 23:14:55 +0000
Subject: [php-src] PHP-8.5: Backport GH-24241 to 8.4
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-142170@lists.php.net to get a copy of this message
Author: ndossche (ndossche) Date: 2026-10-11T01:14:06+02:00 Commit: https://github.com/php/php-src/commit/2842e1e76ee0711e4668efb798d1707282c2a898 Raw diff: https://github.com/php/php-src/commit/2842e1e76ee0711e4668efb798d1707282c2a898.diff Backport GH-24241 to 8.4 Changed paths: M Zend/Optimizer/zend_inference.c Diff: diff --git a/Zend/Optimizer/zend_inference.c b/Zend/Optimizer/zend_inference.c index 0c24691ebba6..7fa5530c1302 100644 --- a/Zend/Optimizer/zend_inference.c +++ b/Zend/Optimizer/zend_inference.c @@ -5030,7 +5030,6 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op case ZEND_SWITCH_STRING: case ZEND_MATCH: case ZEND_ISSET_ISEMPTY_VAR: - case ZEND_ISSET_ISEMPTY_CV: case ZEND_FUNC_NUM_ARGS: case ZEND_FUNC_GET_ARGS: case ZEND_COPY_TMP: @@ -5121,6 +5120,12 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op case ZEND_BOOL: case ZEND_JMP_SET: return (t1 & MAY_BE_OBJECT); + case ZEND_ISSET_ISEMPTY_CV: + if (!(opline->extended_value & ZEND_ISEMPTY)) { + return 0; + } + /* empty() casts to bool: objects may have a cast handler */ + return (t1 & (MAY_BE_OBJECT|MAY_BE_DOUBLE)); case ZEND_BOOL_XOR: return (t1 & MAY_BE_OBJECT) || (t2 & MAY_BE_OBJECT); case ZEND_IS_EQUAL:

« previous php.cvs (#142170) next »