diff options
author | Dmitry Stogov <dmitry@php.net> | 2007-02-01 15:23:46 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2007-02-01 15:23:46 +0000 |
commit | ed30d91cd602459478826f52f2b59c05efad3402 (patch) | |
tree | df5f16a77afabfdcdeeea1c5dfad3a91bdfc978a | |
parent | 009f5a3937d174561d5056ed37ecabc3dd02912a (diff) | |
download | php-git-ed30d91cd602459478826f52f2b59c05efad3402.tar.gz |
Fixed possible crash because of dereference of NULL
-rw-r--r-- | Zend/zend_compile.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 6d2338622f..713c18305a 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1685,17 +1685,13 @@ void zend_do_return(znode *expr, int do_end_vparse TSRMLS_DC) if (expr) { opline->op1 = *expr; - } else { - opline->op1.op_type = IS_CONST; - INIT_ZVAL(opline->op1.u.constant); - } - if (do_end_vparse) { - if (zend_is_function_or_method_call(expr)) { + if (do_end_vparse && zend_is_function_or_method_call(expr)) { opline->extended_value = ZEND_RETURNS_FUNCTION; - } else { - opline->extended_value = 0; } + } else { + opline->op1.op_type = IS_CONST; + INIT_ZVAL(opline->op1.u.constant); } SET_UNUSED(opline->op2); |