From 3264d3e83c0e2ae87b1196a9c786a5c57c0fc508 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Mon, 12 Aug 2024 17:49:46 +0200 Subject: [PATCH] wrapper: Avoid asymmetric termination of gzip context For some reason, both compress and decompress contexts were terminated with both compress and decompress end functions (if the deflateEnd worked), which was causing for some another unexplained reasons issues on i686 architecture when running the torture_packet unit test. Signed-off-by: Jakub Jelen Reviewed-by: Andreas Schneider (cherry picked from commit c9cfeb9b838b801c3e2bb070c3db914e81ca4e68) --- src/wrapper.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/wrapper.c b/src/wrapper.c index bf949ea9..d9cf6db5 100644 --- a/src/wrapper.c +++ b/src/wrapper.c @@ -200,14 +200,12 @@ void crypto_free(struct ssh_crypto_struct *crypto) SAFE_FREE(crypto->secret_hash); } #ifdef WITH_ZLIB - if (crypto->compress_out_ctx && - (deflateEnd(crypto->compress_out_ctx) != 0)) { - inflateEnd(crypto->compress_out_ctx); + if (crypto->compress_out_ctx) { + deflateEnd(crypto->compress_out_ctx); } SAFE_FREE(crypto->compress_out_ctx); - if (crypto->compress_in_ctx && - (deflateEnd(crypto->compress_in_ctx) != 0)) { + if (crypto->compress_in_ctx) { inflateEnd(crypto->compress_in_ctx); } SAFE_FREE(crypto->compress_in_ctx);