aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Simons <jon@jonsimons.org>2014-09-26 19:43:47 -0700
committerAndreas Schneider <asn@cryptomilk.org>2014-10-02 08:25:10 +0200
commit092fe0b727399cd971709c16c030bc093ca54d87 (patch)
treec47f093ec0902f9a2b282f5f94e5c05b5e892305
parent1ddb99c46ffbeeac52f27a630b50670848b39e0c (diff)
downloadlibssh-092fe0b727399cd971709c16c030bc093ca54d87.tar.gz
libssh-092fe0b727399cd971709c16c030bc093ca54d87.tar.xz
libssh-092fe0b727399cd971709c16c030bc093ca54d87.zip
wrapper: fix z_stream leak
Ensure to free the z_stream structures as allocated from the gzip.c initcompress, initdecompress functions. Signed-off-by: Jon Simons <jon@jonsimons.org> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r--src/wrapper.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/wrapper.c b/src/wrapper.c
index f2f0b6ad..bcd941b3 100644
--- a/src/wrapper.c
+++ b/src/wrapper.c
@@ -170,10 +170,13 @@ void crypto_free(struct ssh_crypto_struct *crypto){
(deflateEnd(crypto->compress_out_ctx) != 0)) {
inflateEnd(crypto->compress_out_ctx);
}
+ SAFE_FREE(crypto->compress_out_ctx);
+
if (crypto->compress_in_ctx &&
(deflateEnd(crypto->compress_in_ctx) != 0)) {
inflateEnd(crypto->compress_in_ctx);
}
+ SAFE_FREE(crypto->compress_in_ctx);
#endif /* WITH_ZLIB */
if(crypto->encryptIV)
SAFE_FREE(crypto->encryptIV);