From 5adf502a6955c418077e3034d5328c360682020b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 19 Dec 2003 11:26:52 +0000 Subject: [PATCH] Error reporting on unset string offset was added (Bug #24773 Zend/tests/bug24773.phpt) --- Zend/zend_execute.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index d8ebbf24cd..3601e4ce75 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1930,7 +1930,9 @@ int zend_fetch_dim_unset_handler(ZEND_OPCODE_HANDLER_ARGS) } */ zend_fetch_dimension_address(&EX(opline)->result, &EX(opline)->op1, &EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC); - if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != NULL) { + if (EX_T(EX(opline)->result.u.var).var.ptr_ptr == NULL) { + zend_error(E_ERROR, "Cannot unset string offsets"); + } else { PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr); if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) { SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr); @@ -3477,6 +3479,9 @@ int zend_unset_dim_obj_handler(ZEND_OPCODE_HANDLER_ARGS) } Z_OBJ_HT_P(*container)->unset_dimension(*container, offset TSRMLS_CC); break; + case IS_STRING: + zend_error(E_ERROR, "Cannot unset string offsets"); + break; default: ht = NULL; break; -- 2.50.1