From d594642d6a4f5a480d688e8001e43fac10a3e4d2 Mon Sep 17 00:00:00 2001 From: Truman Kilen Date: Sun, 28 May 2023 22:59:06 -0500 Subject: [PATCH] Check for invalid entry offsets --- repak/src/pak.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repak/src/pak.rs b/repak/src/pak.rs index fd86da5..7aff848 100644 --- a/repak/src/pak.rs +++ b/repak/src/pak.rs @@ -301,6 +301,10 @@ impl Pak { let mut encoded_entries = io::Cursor::new(&encoded_entries); for (dir_name, dir) in fdi { for (file_name, encoded_offset) in dir { + if *encoded_offset == 0x80000000 { + println!("{file_name:?} has invalid offset: 0x{encoded_offset:08x}"); + continue; + } encoded_entries.seek(io::SeekFrom::Start(*encoded_offset as u64))?; let entry = super::entry::Entry::read_encoded(&mut encoded_entries, version)?;