Skip to content

Commit 866bab3

Browse files
committed
handle long names
1 parent 1f48e2b commit 866bab3

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

Zend/zend_vm_def.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1856,6 +1856,11 @@ ZEND_VM_HANDLER(210, ZEND_FETCH_INNER_CLASS, CONST|TMPVAR|UNUSED, CONST, CACHE_S
18561856

18571857
inner_class_name = Z_STR_P(RT_CONSTANT(opline, opline->op2));
18581858

1859+
if (UNEXPECTED(ZSTR_LEN(outer_ce->name) + ZSTR_LEN(inner_class_name) + 2 > ZSTR_MAX_LEN)) {
1860+
zend_error(E_ERROR, "Class name is too long");
1861+
HANDLE_EXCEPTION();
1862+
}
1863+
18591864
full_class_name = zend_string_concat3(
18601865
ZSTR_VAL(outer_ce->name), ZSTR_LEN(outer_ce->name),
18611866
":>", 2,

Zend/zend_vm_execute.h

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)