Commit e7b225697ef for php
commit e7b225697ef2251e3ecfdd21984489c633f94101
Author: ndossche <7771979+ndossche@users.noreply.github.com>
Date: Tue Sep 29 20:08:15 2026 +0200
Fix GH-23980: ZEND_ASSERT violation @ ZEND_INCLUDE_OR_EVAL (include/eval run with a pending exception)
Closes GH-24002.
diff --git a/NEWS b/NEWS
index 0ec3c10f0a1..dbb54c4cbaa 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,7 @@ PHP NEWS
(ndossche)
. Fixed AVX being reported as supported when the OS has not enabled AVX
state. (Ilia Alshanetsky)
+ . Fixed GH-23980 (ZEND_ASSERT violation @ ZEND_INCLUDE_OR_EVAL). (ndossche)
- DOM:
. Fixed use-after-free when re-constructing a DOMXPath whose php:function
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index c46b1710154..566c9b4c456 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -6585,7 +6585,11 @@ ZEND_VM_HANDLER(73, ZEND_INCLUDE_OR_EVAL, CONST|TMPVAR|CV, ANY, EVAL, SPEC(OBSER
}
}
FREE_OP1();
- ZEND_VM_NEXT_OPCODE();
+ if (OP1_TYPE & IS_CONST) {
+ ZEND_VM_NEXT_OPCODE();
+ } else {
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ }
}
ZEND_VM_HANDLER(153, ZEND_UNSET_CV, CV, UNUSED)
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index f4f35ce2a8a..2ebbfaa9c05 100644
Binary files a/Zend/zend_vm_execute.h and b/Zend/zend_vm_execute.h differ