From b7d966ecb3e7180342706c7d4e906f6138254e05 Mon Sep 17 00:00:00 2001 From: Tino Reichardt Date: Thu, 29 Sep 2016 21:53:48 +0200 Subject: [PATCH] major fix, detect skippable frames in .zst files --- CPP/7zip/Archive/ZstdHandler.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CPP/7zip/Archive/ZstdHandler.cpp b/CPP/7zip/Archive/ZstdHandler.cpp index 281273e5..2b7a698e 100644 --- a/CPP/7zip/Archive/ZstdHandler.cpp +++ b/CPP/7zip/Archive/ZstdHandler.cpp @@ -107,12 +107,13 @@ API_FUNC_static_IsArc IsArc_zstd(const Byte *p, size_t size) if (size < 4) return k_IsArc_Res_NEED_MORE; - // 0xFD2FB525 = 0.5 - // .. - // 0xFD2FB528 = 0.8 UInt32 magic = GetUi32(p); + // zstd magic's if (magic >= 0xFD2FB525 && magic <= 0xFD2FB528) return k_IsArc_Res_YES; + // skippable frames + if (magic >= 0x184D2A50 && magic <= 0x184D2A5F) + return k_IsArc_Res_YES; return k_IsArc_Res_NO; }