]> granicus.if.org Git - php/commitdiff
Throw Error on dynamic call to instance method when called statically
authorAaron Piotrowski <aaron@trowski.com>
Tue, 30 Jun 2015 01:41:08 +0000 (20:41 -0500)
committerBob Weinand <bobwei9@hotmail.com>
Tue, 30 Jun 2015 05:07:17 +0000 (07:07 +0200)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index a153d2a12df0292d2310a079861951dfc2a48c6f..7c7948e132ce75d25edf3a0c771b46bc34537f49 100644 (file)
@@ -3237,6 +3237,7 @@ ZEND_VM_C_LABEL(try_function_name):
                        
                        lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
                        
+                       object = NULL;
                        called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
                        if (UNEXPECTED(called_scope == NULL)) {
                                zend_string_release(lcname);
index 64fa70dd8a0d103f7b8d6969d69f3f5d96d8fd1c..ffe90f4e2285842cfe95c8f18479c9406fcd185b 100644 (file)
@@ -1944,6 +1944,7 @@ try_function_name:
 
                        lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
 
+                       object = NULL;
                        called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
                        if (UNEXPECTED(called_scope == NULL)) {
                                zend_string_release(lcname);
@@ -2396,6 +2397,7 @@ try_function_name:
 
                        lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
 
+                       object = NULL;
                        called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
                        if (UNEXPECTED(called_scope == NULL)) {
                                zend_string_release(lcname);
@@ -2649,6 +2651,7 @@ try_function_name:
 
                        lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
 
+                       object = NULL;
                        called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
                        if (UNEXPECTED(called_scope == NULL)) {
                                zend_string_release(lcname);