From 2240ada5dbcd21865b10d957ce0e3f8d0b695ef8 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 16 Dec 2024 22:11:49 -0500 Subject: [PATCH] Avoid going out of bounds below. --- Analyser/Static/Commodore/StaticAnalyser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Analyser/Static/Commodore/StaticAnalyser.cpp b/Analyser/Static/Commodore/StaticAnalyser.cpp index f07734888..52c3bb73b 100644 --- a/Analyser/Static/Commodore/StaticAnalyser.cpp +++ b/Analyser/Static/Commodore/StaticAnalyser.cpp @@ -108,7 +108,7 @@ std::optional analyse(const File &file) { while(true) { // Analysis has failed if there isn't at least one complete BASIC line from here. // Fall back on guessing the start address as a machine code entrypoint. - if(size_t(line_address - file.starting_address) + 5 >= file.data.size()) { + if(size_t(line_address - file.starting_address) + 5 >= file.data.size() || line_address < file.starting_address) { analysis.machine_code_addresses.push_back(file.starting_address); break; }