From 952c9073ad255442adcf4e85f7b2150c3bbe91de Mon Sep 17 00:00:00 2001 From: teor Date: Fri, 16 Jun 2017 09:41:29 +1000 Subject: [PATCH] Check for trailing input garbage in tor_compress_impl() when decompressing Fixes #22629. --- src/common/compress.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/common/compress.c b/src/common/compress.c index 92b64d1e91..ee9de6a768 100644 --- a/src/common/compress.c +++ b/src/common/compress.c @@ -139,7 +139,15 @@ tor_compress_impl(int compress, if (compress || complete_only) { goto err; } else { - goto done; + if (in_len != 0) { + log_fn(protocol_warn_level, LD_PROTOCOL, + "Unexpected extra input while decompressing"); + log_debug(LD_GENERAL, "method: %d level: %d at len: %zd", + method, compression_level, in_len); + goto err; + } else { + goto done; + } } break; case TOR_COMPRESS_BUFFER_FULL: {