[tor-commits] [tor/master] Only compare the first 3 bytes when trying to detect LZMA compression.

nickm at torproject.org nickm at torproject.org
Mon May 1 19:44:40 UTC 2017


commit e5122b91a951d44702b11a70862ec99e851a2578
Author: Alexander Færøy <ahf at torproject.org>
Date:   Thu Apr 27 20:07:08 2017 +0200

    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.
---
 src/common/compress.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/common/compress.c b/src/common/compress.c
index 8502dee..738df9f 100644
--- a/src/common/compress.c
+++ b/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)) {





More information about the tor-commits mailing list