From: Aaron Piotrowski Date: Fri, 26 Jun 2015 00:30:36 +0000 (-0500) Subject: Fix 'Class::method' indirect call with empty method name X-Git-Tag: php-7.1.0alpha3~25^2~175^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ba67fc221890aaa395912aefebb96155afe671c1;p=php Fix 'Class::method' indirect call with empty method name --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 8462d950cb..933be83dc7 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3237,12 +3237,6 @@ ZEND_VM_C_LABEL(try_function_name): size_t cname_length = colon - Z_STRVAL_P(function_name) - 1; size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1); - if (!mname_length) { - zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name)); - FREE_OP2(); - HANDLE_EXCEPTION(); - } - lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0); called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index df9b1ed58c..69a73467fa 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1940,12 +1940,6 @@ try_function_name: size_t cname_length = colon - Z_STRVAL_P(function_name) - 1; size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1); - if (!mname_length) { - zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name)); - - HANDLE_EXCEPTION(); - } - lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0); called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION); @@ -2398,12 +2392,6 @@ try_function_name: size_t cname_length = colon - Z_STRVAL_P(function_name) - 1; size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1); - if (!mname_length) { - zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name)); - - HANDLE_EXCEPTION(); - } - lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0); called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION); @@ -2657,12 +2645,6 @@ try_function_name: size_t cname_length = colon - Z_STRVAL_P(function_name) - 1; size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1); - if (!mname_length) { - zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name)); - zval_ptr_dtor_nogc(free_op2); - HANDLE_EXCEPTION(); - } - lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0); called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);