From 4d87f5b2799876b0a5c4d27a5a04ba78914a696f Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 22 May 2021 17:35:05 +0200 Subject: [PATCH] prevent panic on invalid compressed stringtable size fixes #2 --- src/demo/message/stringtable.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/demo/message/stringtable.rs b/src/demo/message/stringtable.rs index a29965f..191c358 100644 --- a/src/demo/message/stringtable.rs +++ b/src/demo/message/stringtable.rs @@ -48,6 +48,12 @@ impl<'a> Parse<'a> for CreateStringTableMessage<'a> { let decompressed_size: u32 = table_data.read()?; let compressed_size: u32 = table_data.read()?; + if compressed_size < 4 { + return Err(ParseError::InvalidDemo( + "Invalid compressed string table size", + )); + } + let magic = table_data.read_string(Some(4))?; if magic != "SNAP" {