File tree Expand file tree Collapse file tree 3 files changed +8
-2
lines changed Expand file tree Collapse file tree 3 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -2819,9 +2819,11 @@ static zend_always_inline zval *zend_fetch_dimension_address_inner(HashTable *ht
28192819 zend_undefined_offset (hval );
28202820 ZEND_FALLTHROUGH ;
28212821 case BP_VAR_UNSET :
2822- case BP_VAR_IS :
28232822 retval = & EG (uninitialized_zval );
28242823 break ;
2824+ case BP_VAR_IS :
2825+ retval = & EG (undef_zval );
2826+ break ;
28252827 case BP_VAR_RW :
28262828 retval = zend_undefined_offset_write (ht , hval );
28272829 break ;
@@ -2845,9 +2847,11 @@ static zend_always_inline zval *zend_fetch_dimension_address_inner(HashTable *ht
28452847 zend_undefined_index (offset_key );
28462848 ZEND_FALLTHROUGH ;
28472849 case BP_VAR_UNSET :
2848- case BP_VAR_IS :
28492850 retval = & EG (uninitialized_zval );
28502851 break ;
2852+ case BP_VAR_IS :
2853+ retval = & EG (undef_zval );
2854+ break ;
28512855 case BP_VAR_RW :
28522856 retval = zend_undefined_index_write (ht , offset_key );
28532857 break ;
Original file line number Diff line number Diff line change @@ -131,6 +131,7 @@ void init_executor(void) /* {{{ */
131131
132132 ZVAL_NULL (& EG (uninitialized_zval ));
133133 ZVAL_ERROR (& EG (error_zval ));
134+ ZVAL_UNDEF (& EG (undef_zval ));
134135/* destroys stack frame, therefore makes core dumps worthless */
135136#if 0 && ZEND_DEBUG
136137 original_sigsegv_handler = signal (SIGSEGV , zend_handle_sigsegv );
Original file line number Diff line number Diff line change @@ -167,6 +167,7 @@ struct _zend_compiler_globals {
167167struct _zend_executor_globals {
168168 zval uninitialized_zval ;
169169 zval error_zval ;
170+ zval undef_zval ;
170171
171172 /* symbol table cache */
172173 zend_array * symtable_cache [SYMTABLE_CACHE_SIZE ];
You can’t perform that action at this time.
0 commit comments