diff options
author | Jon Simons <jon@jonsimons.org> | 2014-09-26 19:43:47 -0700 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2014-10-02 08:25:10 +0200 |
commit | 092fe0b727399cd971709c16c030bc093ca54d87 (patch) | |
tree | c47f093ec0902f9a2b282f5f94e5c05b5e892305 | |
parent | 1ddb99c46ffbeeac52f27a630b50670848b39e0c (diff) | |
download | libssh-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.c | 3 |
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); |