commit 952c9073ad255442adcf4e85f7b2150c3bbe91de
parent 8e1b37a4aa9d6277637f82100ac1823a6a193c63
Author: teor <teor2345@gmail.com>
Date: Fri, 16 Jun 2017 09:41:29 +1000
Check for trailing input garbage in tor_compress_impl() when decompressing
Fixes #22629.
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git 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: {