From a0e7af0cd98d9f57e6637f2c379244e907aec5a6 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Mon, 12 Feb 2024 17:34:03 -0700 Subject: [PATCH] LibWeb: Don't choose destroyed navigables in choose a navigable AO There's a chance that we try to choose a navigable before a previously destroyed navigable is fully destroyed and GC'd. Investigating why this can happen is a separate endeavor, let's just not crash for now. --- Userland/Libraries/LibWeb/HTML/Navigable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/HTML/Navigable.cpp b/Userland/Libraries/LibWeb/HTML/Navigable.cpp index 6288908de3..e82cb824da 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigable.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigable.cpp @@ -312,7 +312,7 @@ Navigable::ChosenNavigable Navigable::choose_a_navigable(StringView name, Tokeni JS::GCPtr same_name_navigable = nullptr; if (!Infra::is_ascii_case_insensitive_match(name, "_blank"sv)) { for (auto& n : all_navigables()) { - if (n->target_name() == name) { + if (n->target_name() == name && !n->has_been_destroyed()) { same_name_navigable = n; } }