From fc9434465c3836b6a6217e6635ab469fd478e7b0 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Mon, 14 Mar 2016 16:32:01 +0100 Subject: [PATCH] pki_gcrypt: Fix memory leak * src/pki_gcrypt.c (_bignum_cmp): Fix memory leak. Signed-off-by: Justus Winter Reviewed-by: Andreas Schneider --- src/pki_gcrypt.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c index 663cb1ff..37188373 100644 --- a/src/pki_gcrypt.c +++ b/src/pki_gcrypt.c @@ -1064,6 +1064,7 @@ static int _bignum_cmp(const gcry_sexp_t s1, gcry_sexp_t sexp; bignum b1; bignum b2; + int result; sexp = gcry_sexp_find_token(s1, what, 0); if (sexp == NULL) { @@ -1077,19 +1078,20 @@ static int _bignum_cmp(const gcry_sexp_t s1, sexp = gcry_sexp_find_token(s2, what, 0); if (sexp == NULL) { + bignum_free(b1); return 1; } b2 = gcry_sexp_nth_mpi(sexp, 1, GCRYMPI_FMT_USG); gcry_sexp_release(sexp); if (b2 == NULL) { + bignum_free(b1); return 1; } - if (bignum_cmp(b1, b2) != 0) { - return 1; - } - - return 0; + result = !! bignum_cmp(b1, b2); + bignum_free(b1); + bignum_free(b2); + return result; } int pki_key_compare(const ssh_key k1,