Skip to content

Commit

Permalink
Throw Error on dynamic call to instance method when called statically
Browse files Browse the repository at this point in the history
  • Loading branch information
trowski authored and bwoebi committed Jun 30, 2015
1 parent dd2e6e8 commit ffd36e0
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
1 change: 1 addition & 0 deletions Zend/zend_vm_def.h
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions Zend/zend_vm_execute.h
Expand Up @@ -1944,6 +1944,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CONST_H

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);
Expand Down Expand Up @@ -2396,6 +2397,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CV_HAND

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);
Expand Down Expand Up @@ -2649,6 +2651,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR_

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);
Expand Down

0 comments on commit ffd36e0

Please sign in to comment.