Skip to content

Commit 9bd2abe

Browse files
committed
Merge branch 'PHP-8.3'
* PHP-8.3: Fix unlikely memory leak in case of namespace removal with extremely deep trees
2 parents b320aab + ab508c9 commit 9bd2abe

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

ext/dom/element.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ static void dom_deep_ns_redef(xmlNodePtr node, xmlNsPtr ns_to_redefine)
461461
if (worklist_size == worklist_capacity) {
462462
if (UNEXPECTED(worklist_capacity >= SIZE_MAX / 3 * 2 / sizeof(dom_deep_ns_redef_item))) {
463463
/* Shouldn't be possible to hit, but checked for safety anyway */
464-
return;
464+
goto out;
465465
}
466466
worklist_capacity = worklist_capacity * 3 / 2;
467467
worklist = erealloc(worklist, sizeof(dom_deep_ns_redef_item) * worklist_capacity);
@@ -472,6 +472,7 @@ static void dom_deep_ns_redef(xmlNodePtr node, xmlNsPtr ns_to_redefine)
472472
}
473473
}
474474

475+
out:
475476
efree(worklist);
476477
}
477478

0 commit comments

Comments
 (0)