Hi,
The attached patch fixes a memory leak on ecdsa_verify()
regards,
Nikos
From 6f8f84fbc0b1fd1ea19908a938adfeeec0bc9caa Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <[email protected]>
Date: Tue, 3 Jan 2017 13:54:16 +0100
Subject: [PATCH] ecdsa_verify: eliminated memory leak on error path
---
ecdsa-verify.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ecdsa-verify.c b/ecdsa-verify.c
index 05c174e..ab8e19f 100644
--- a/ecdsa-verify.c
+++ b/ecdsa-verify.c
@@ -52,7 +52,7 @@ ecdsa_verify (const struct ecc_point *pub,
/* For ECC_MUL_A_WBITS == 0, at most 1512 bytes. With
ECC_MUL_A_WBITS == 4, currently needs 67 * ecc->size, at most
4824 bytes. Don't use stack allocation for this. */
- mp_limb_t *scratch = gmp_alloc_limbs (itch);
+ mp_limb_t *scratch;
int res;
#define rp scratch
@@ -62,6 +62,8 @@ ecdsa_verify (const struct ecc_point *pub,
if (mpz_sgn (signature->r) <= 0 || mpz_size (signature->r) > size
|| mpz_sgn (signature->s) <= 0 || mpz_size (signature->s) > size)
return 0;
+
+ scratch = gmp_alloc_limbs (itch);
mpz_limbs_copy (rp, signature->r, size);
mpz_limbs_copy (sp, signature->s, size);
--
2.9.3
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs