]> granicus.if.org Git - php/commitdiff
Initialize only the necessary fields.
authorDmitry Stogov <dmitry@zend.com>
Mon, 30 May 2016 21:04:52 +0000 (00:04 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 30 May 2016 21:04:52 +0000 (00:04 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index c8eb4cba4ce657f8abde34db1cc06b6683a1f6af..82ba60a03b0546668cefb8249589079f0fa4f691 100644 (file)
@@ -4038,7 +4038,9 @@ ZEND_VM_HANDLER(41, ZEND_GENERATOR_CREATE, ANY, ANY)
                generator = (zend_generator *) Z_OBJ_P(EX(return_value));
                generator->execute_data = gen_execute_data;
                generator->frozen_call_stack = NULL;
-               memset(&generator->execute_fake, 0, sizeof(zend_execute_data));
+               generator->execute_fake.opline = NULL;
+               generator->execute_fake.func = NULL;
+               generator->execute_fake.prev_execute_data = NULL;
                ZVAL_OBJ(&generator->execute_fake.This, (zend_object *) generator);
 
                gen_execute_data->opline = opline + 1;
index 2b9727acd2403dfb2dd5709f331c32eca8fd1c3b..3351a078b245a4e3df22390530c95bde547a4a88 100644 (file)
@@ -1179,7 +1179,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GENERATOR_CREATE_SPEC_HANDLER(
                generator = (zend_generator *) Z_OBJ_P(EX(return_value));
                generator->execute_data = gen_execute_data;
                generator->frozen_call_stack = NULL;
-               memset(&generator->execute_fake, 0, sizeof(zend_execute_data));
+               generator->execute_fake.opline = NULL;
+               generator->execute_fake.func = NULL;
+               generator->execute_fake.prev_execute_data = NULL;
                ZVAL_OBJ(&generator->execute_fake.This, (zend_object *) generator);
 
                gen_execute_data->opline = opline + 1;