From: Jouni Malinen Date: Wed, 8 May 2019 15:55:57 +0000 (+0300) Subject: dragonfly: Fix a memory leak on error path X-Git-Tag: hostap_2_9~287 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=677e120181d361a2b52e1f04e1fa5084d9a21873;p=thirdparty%2Fhostap.git dragonfly: Fix a memory leak on error path This is mostly a theoretical case, but since crypto_bignum_rand() could fail, need to free the allocated struct crypto_bignum *tmp in such a case. Signed-off-by: Jouni Malinen --- diff --git a/src/common/dragonfly.c b/src/common/dragonfly.c index 10d968ac4..e98bce682 100644 --- a/src/common/dragonfly.c +++ b/src/common/dragonfly.c @@ -40,8 +40,10 @@ int dragonfly_get_random_qr_qnr(const struct crypto_bignum *prime, int res; tmp = crypto_bignum_init(); - if (!tmp || crypto_bignum_rand(tmp, prime) < 0) + if (!tmp || crypto_bignum_rand(tmp, prime) < 0) { + crypto_bignum_deinit(tmp, 0); break; + } res = crypto_bignum_legendre(tmp, prime); if (res == 1 && !(*qr))