diff options
author | NIIBE Yutaka <[email protected]> | 2018-04-13 01:09:02 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2018-04-13 01:09:02 +0000 |
commit | c31abf84659dbda5503dd9f3aa3449520bcd1b84 (patch) | |
tree | 6b469fad376cd4939685a4690ad786609d268578 | |
parent | po: Update Spanish translation (diff) | |
download | gnupg-c31abf84659dbda5503dd9f3aa3449520bcd1b84.tar.gz gnupg-c31abf84659dbda5503dd9f3aa3449520bcd1b84.zip |
g10: Push compress filter only if compressed.
* g10/compress.c (handle_compressed): Fix memory leak.
--
All other calls of push_compress_filter checks ALGO,
so, do it here, too.
GnuPG-bug-id: 3898
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | g10/compress.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/g10/compress.c b/g10/compress.c index 61bb756f2..67c9c9bd6 100644 --- a/g10/compress.c +++ b/g10/compress.c @@ -309,15 +309,18 @@ int handle_compressed (ctrl_t ctrl, void *procctx, PKT_compressed *cd, int (*callback)(IOBUF, void *), void *passthru ) { - compress_filter_context_t *cfx; int rc; if(check_compress_algo(cd->algorithm)) return GPG_ERR_COMPR_ALGO; - cfx = xmalloc_clear (sizeof *cfx); - cfx->release = release_context; - cfx->algo = cd->algorithm; - push_compress_filter(cd->buf,cfx,cd->algorithm); + if(cd->algorithm) { + compress_filter_context_t *cfx; + + cfx = xmalloc_clear (sizeof *cfx); + cfx->release = release_context; + cfx->algo = cd->algorithm; + push_compress_filter(cd->buf,cfx,cd->algorithm); + } if( callback ) rc = callback(cd->buf, passthru ); else |