ソースを参照

Only compare the first 3 bytes when trying to detect LZMA compression.

This patch changes the logic in `detect_compression_method()` to only
use the 3 first bytes when checking if a given input is LZMA encoded.
Alexander Færøy 8 年 前
コミット
e5122b91a9
1 ファイル変更2 行追加2 行削除
  1. 2 2
      src/common/compress.c

+ 2 - 2
src/common/compress.c

@@ -255,8 +255,8 @@ detect_compression_method(const char *in, size_t in_len)
   } else if (in_len > 2 && (in[0] & 0x0f) == 8 &&
              (ntohs(get_uint16(in)) % 31) == 0) {
     return ZLIB_METHOD;
-  } else if (in_len > 3 &&
-             fast_memeq(in, "\x5d\x00\x00\x00", 4)) {
+  } else if (in_len > 2 &&
+             fast_memeq(in, "\x5d\x00\x00", 3)) {
     return LZMA_METHOD;
   } else if (in_len > 3 &&
              fast_memeq(in, "\x28\xb5\x2f\xfd", 4)) {