1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-20 11:47:46 +00:00

Try to reject erreonous planner.lgb files

This commit is contained in:
Joshua Goins 2025-03-28 22:09:39 -04:00
parent eee7d5867f
commit a34361b956
2 changed files with 6 additions and 2 deletions

View file

@ -466,12 +466,16 @@ impl LayerGroup {
let mut cursor = Cursor::new(buffer); let mut cursor = Cursor::new(buffer);
let file_header = LgbHeader::read(&mut cursor).unwrap(); let file_header = LgbHeader::read(&mut cursor).unwrap();
if file_header.file_size < 0 || file_header.total_chunk_count < 0 { if file_header.file_size <= 0 || file_header.total_chunk_count <= 0 {
return None; return None;
} }
let chunk_header = LayerChunk::read(&mut cursor).unwrap(); let chunk_header = LayerChunk::read(&mut cursor).unwrap();
if chunk_header.chunk_size <= 0 {
return None;
}
let old_pos = cursor.position(); let old_pos = cursor.position();
let mut layer_offsets = vec![0i32; chunk_header.layer_count as usize]; let mut layer_offsets = vec![0i32; chunk_header.layer_count as usize];

View file

@ -16,7 +16,7 @@ mod db;
pub use db::SqPackDatabase; pub use db::SqPackDatabase;
mod index; mod index;
pub use index::{IndexEntry, SqPackIndex, Hash}; pub use index::{Hash, IndexEntry, SqPackIndex};
/// The type of this SqPack file. /// The type of this SqPack file.
#[binrw] #[binrw]