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:
parent
eee7d5867f
commit
a34361b956
2 changed files with 6 additions and 2 deletions
|
@ -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];
|
||||||
|
|
|
@ -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]
|
||||||
|
|
Loading…
Add table
Reference in a new issue