summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2007-02-01 15:23:46 +0000
committerDmitry Stogov <dmitry@php.net>2007-02-01 15:23:46 +0000
commited30d91cd602459478826f52f2b59c05efad3402 (patch)
treedf5f16a77afabfdcdeeea1c5dfad3a91bdfc978a
parent009f5a3937d174561d5056ed37ecabc3dd02912a (diff)
downloadphp-git-ed30d91cd602459478826f52f2b59c05efad3402.tar.gz
Fixed possible crash because of dereference of NULL
-rw-r--r--Zend/zend_compile.c12
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);