aboutsummaryrefslogtreecommitdiffstats
path: root/nihav-core/src
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2021-05-18 18:16:48 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2021-05-18 18:16:48 +0200
commitd5d5963c3dc8356de8fdd7eafad3aabd3a9705e9 (patch)
treec3bb00d495fa555f19dcac0b16f68126518f5223 /nihav-core/src
parent999fbb839c077549a29cb84db47a0b0b65a2c0ef (diff)
downloadnihav-d5d5963c3dc8356de8fdd7eafad3aabd3a9705e9.tar.gz
deflate: fix zlib stream magic detection
Diffstat (limited to 'nihav-core/src')
-rw-r--r--nihav-core/src/compr/deflate.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/nihav-core/src/compr/deflate.rs b/nihav-core/src/compr/deflate.rs
index 3462a40..638e110 100644
--- a/nihav-core/src/compr/deflate.rs
+++ b/nihav-core/src/compr/deflate.rs
@@ -721,7 +721,7 @@ impl Inflate {
///! Decompresses input data into output returning the uncompressed data length.
pub fn uncompress(src: &[u8], dst: &mut [u8]) -> DecompressResult<usize> {
let mut inflate = Self::new();
- let off = if src.len() > 2 && src[0] == 0x78 && src[1] == 0x9C { 2 } else { 0 };
+ let off = if src.len() > 2 && src[0] == 0x78 && (src[1] != 0 && ((src[1] - 1) % 31) == 0) { 2 } else { 0 };
inflate.decompress_data(&src[off..], dst, false)
}
}