diff --git a/src/dwarfs/filesystem_v2.cpp b/src/dwarfs/filesystem_v2.cpp index 310cd236..1af18cb6 100644 --- a/src/dwarfs/filesystem_v2.cpp +++ b/src/dwarfs/filesystem_v2.cpp @@ -65,8 +65,12 @@ class filesystem_parser { off_t start = 0; for (;;) { + if (start + magic.size() >= mm.size()) { + break; + } + auto ps = mm.as(start); - auto pc = ::memmem(ps, mm.size(), magic.data(), magic.size()); + auto pc = ::memmem(ps, mm.size() - start, magic.data(), magic.size()); if (!pc) { break;