From f1f608bf53c6482d633ea2b41c77e525a20f34b0 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 5 Sep 2023 10:11:54 +0300 Subject: [PATCH] Fixed uninitialized EX(opline) access (possible Zend/tests/gh12073.phpt crash) --- Zend/zend_vm_def.h | 1 + Zend/zend_vm_execute.h | 1 + 2 files changed, 2 insertions(+) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 646dab4ae68..90704993bb2 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -8002,6 +8002,7 @@ ZEND_VM_HANDLER(142, ZEND_DECLARE_LAMBDA_FUNCTION, CONST, NUM) called_scope = Z_CE(EX(This)); object = NULL; } + SAVE_OPLINE(); zend_create_closure(EX_VAR(opline->result.var), func, EX(func)->op_array.scope, called_scope, object); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 5675f894121..530fd7d3e11 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -5366,6 +5366,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_C called_scope = Z_CE(EX(This)); object = NULL; } + SAVE_OPLINE(); zend_create_closure(EX_VAR(opline->result.var), func, EX(func)->op_array.scope, called_scope, object);