Merge pull request #104362 from bruvzg/ed_insp_list_erase

Fix use after free in the editor inspector section cleanup.
This commit is contained in:
Rémi Verschelde 2025-03-19 14:54:01 +01:00
commit ef1153baf3
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -3941,8 +3941,9 @@ void EditorInspector::update_tree() {
}
// Clean up empty sections.
for (List<EditorInspectorSection *>::Element *I = sections.back(); I; I = I->prev()) {
for (List<EditorInspectorSection *>::Element *I = sections.back(); I;) {
EditorInspectorSection *section = I->get();
I = I->prev(); // Note: Advance before erasing element.
if (section->get_vbox()->get_child_count() == 0) {
sections.erase(section);
vbox_per_path[main_vbox].erase(section->get_section());