diff options
-rw-r--r-- | Zend/zend-parser.y | 4 | ||||
-rw-r--r-- | Zend/zend_compile.c | 2 | ||||
-rw-r--r-- | Zend/zend_opcode.c | 9 |
3 files changed, 7 insertions, 8 deletions
diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y index 36972a3894..cff30e5fcc 100644 --- a/Zend/zend-parser.y +++ b/Zend/zend-parser.y @@ -497,8 +497,8 @@ function_call: exit_expr: - /* empty */ { $$.op_type = IS_UNUSED; } - | '(' ')' { $$.op_type = IS_UNUSED; } + /* empty */ { memset(&$$, 0, sizeof(znode)); $$.op_type = IS_UNUSED; } + | '(' ')' { memset(&$$, 0, sizeof(znode)); $$.op_type = IS_UNUSED; } | '(' expr ')' { $$ = $2; } ; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 8560f0fad2..24ab94cd37 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1183,6 +1183,8 @@ void do_early_binding(CLS_D) zval_dtor(&opline->op1.u.constant); zval_dtor(&opline->op2.u.constant); opline->opcode = ZEND_NOP; + memset(&opline->op1, 0, sizeof(znode)); + memset(&opline->op2, 0, sizeof(znode)); SET_UNUSED(opline->op1); SET_UNUSED(opline->op2); } diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 4bb112b63a..db5ef3be4f 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -190,12 +190,9 @@ void init_op(zend_op *op CLS_DC) op->filename = zend_get_compiled_filename(CLS_C); op->result.op_type = IS_UNUSED; op->extended_value = 0; - op->op1.u.EA.var = 0; - op->op1.u.EA.type = 0; - op->op2.u.EA.var = 0; - op->op2.u.EA.type = 0; - op->result.u.EA.var = 0; - op->result.u.EA.type = 0; + memset(&op->op1, 0, sizeof(znode)); + memset(&op->op2, 0, sizeof(znode)); + memset(&op->result, 0, sizeof(znode)); } zend_op *get_next_op(zend_op_array *op_array CLS_DC) |