]> granicus.if.org Git - php/commitdiff
Fixed possible crash because of dereference of NULL
authorDmitry Stogov <dmitry@php.net>
Thu, 1 Feb 2007 15:23:46 +0000 (15:23 +0000)
committerDmitry Stogov <dmitry@php.net>
Thu, 1 Feb 2007 15:23:46 +0000 (15:23 +0000)
Zend/zend_compile.c

index 6d2338622f96aae7522197f5b91fe3b10f8dfa2f..713c18305ad2d3fd4c6654b3ea4c4501ae53ec8b 100644 (file)
@@ -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);