From: Dmitry Stogov Date: Mon, 30 May 2016 21:04:52 +0000 (+0300) Subject: Initialize only the necessary fields. X-Git-Tag: php-7.1.0alpha1~67 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f216176bc952bab346ed075b758c7e5eaaacaee0;p=php Initialize only the necessary fields. --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index c8eb4cba4c..82ba60a03b 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -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; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 2b9727acd2..3351a078b2 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -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;