From 8c219b981c463ee4b3495ad97b005a39f55d65de Mon Sep 17 00:00:00 2001 From: WerWolv Date: Tue, 13 Sep 2022 14:05:48 +0200 Subject: [PATCH] fix: Searching for invalid binary sequence causing too many matches --- plugins/builtin/source/content/views/view_find.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/builtin/source/content/views/view_find.cpp b/plugins/builtin/source/content/views/view_find.cpp index 870c9cc1c..9fea731eb 100644 --- a/plugins/builtin/source/content/views/view_find.cpp +++ b/plugins/builtin/source/content/views/view_find.cpp @@ -234,6 +234,9 @@ namespace hex::plugin::builtin { reader.setEndAddress(searchRegion.getEndAddress()); auto sequence = hex::decodeByteString(settings.sequence); + if (sequence.empty()) + return { }; + auto occurrence = reader.begin(); while (true) { occurrence = std::search(reader.begin(), reader.end(), std::boyer_moore_horspool_searcher(sequence.begin(), sequence.end())); @@ -461,7 +464,7 @@ namespace hex::plugin::builtin { ImGui::InputText("hex.builtin.common.value"_lang, settings.sequence); - this->m_settingsValid = !settings.sequence.empty(); + this->m_settingsValid = !settings.sequence.empty() && !hex::decodeByteString(settings.sequence).empty(); ImGui::EndTabItem(); }