Skip to content

Commit ba67fc2

Browse files
committed
Fix 'Class::method' indirect call with empty method name
1 parent 03a670e commit ba67fc2

File tree

2 files changed

+0
-24
lines changed

2 files changed

+0
-24
lines changed

Zend/zend_vm_def.h

-6
Original file line numberDiff line numberDiff line change
@@ -3237,12 +3237,6 @@ ZEND_VM_C_LABEL(try_function_name):
32373237
size_t cname_length = colon - Z_STRVAL_P(function_name) - 1;
32383238
size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1);
32393239

3240-
if (!mname_length) {
3241-
zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
3242-
FREE_OP2();
3243-
HANDLE_EXCEPTION();
3244-
}
3245-
32463240
lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
32473241

32483242
called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);

Zend/zend_vm_execute.h

-18
Original file line numberDiff line numberDiff line change
@@ -1940,12 +1940,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CONST_H
19401940
size_t cname_length = colon - Z_STRVAL_P(function_name) - 1;
19411941
size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1);
19421942

1943-
if (!mname_length) {
1944-
zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
1945-
1946-
HANDLE_EXCEPTION();
1947-
}
1948-
19491943
lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
19501944

19511945
called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
@@ -2398,12 +2392,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CV_HAND
23982392
size_t cname_length = colon - Z_STRVAL_P(function_name) - 1;
23992393
size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1);
24002394

2401-
if (!mname_length) {
2402-
zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
2403-
2404-
HANDLE_EXCEPTION();
2405-
}
2406-
24072395
lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
24082396

24092397
called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
@@ -2657,12 +2645,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR_
26572645
size_t cname_length = colon - Z_STRVAL_P(function_name) - 1;
26582646
size_t mname_length = Z_STRLEN_P(function_name) - cname_length - (sizeof("::") - 1);
26592647

2660-
if (!mname_length) {
2661-
zend_error(E_EXCEPTION | E_ERROR, "Call to undefined function %s()", Z_STRVAL_P(function_name));
2662-
zval_ptr_dtor_nogc(free_op2);
2663-
HANDLE_EXCEPTION();
2664-
}
2665-
26662648
lcname = zend_string_init(Z_STRVAL_P(function_name), cname_length, 0);
26672649

26682650
called_scope = zend_fetch_class_by_name(lcname, NULL, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);

0 commit comments

Comments
 (0)