]> granicus.if.org Git - php/commitdiff
- Refix bug #24773
authorAndi Gutmans <andi@php.net>
Thu, 11 Dec 2003 10:21:16 +0000 (10:21 +0000)
committerAndi Gutmans <andi@php.net>
Thu, 11 Dec 2003 10:21:16 +0000 (10:21 +0000)
Zend/zend_execute.c

index 848fab4c17261c70c14348ad31a1cf4746d09111..2ef172c8cb0c6008b642f92e80224afb2be8603a 100644 (file)
@@ -1950,11 +1950,13 @@ 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);
-       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);
+       if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != NULL) {
+               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);
+               }
+               PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
        }
-       PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
        NEXT_OPCODE();
 }