diff --git a/Userland/Libraries/LibSymbolication/Symbolication.cpp b/Userland/Libraries/LibSymbolication/Symbolication.cpp index 4199790ecc..745b14fb0c 100644 --- a/Userland/Libraries/LibSymbolication/Symbolication.cpp +++ b/Userland/Libraries/LibSymbolication/Symbolication.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include @@ -192,7 +193,12 @@ Vector symbolicate_thread(pid_t pid, pid_t tid) for (auto address : stack) { const RegionWithSymbols* found_region = nullptr; for (auto& region : regions) { - if (address >= region.base && address < (region.base + region.size)) { + FlatPtr region_end; + if (Checked::addition_would_overflow(region.base, region.size)) + region_end = NumericLimits::max(); + else + region_end = region.base + region.size; + if (address >= region.base && address < region_end) { found_region = ®ion; break; }