ecc: Fix some memory leaks
authorChristian Grothoff <christian@grothoff.org>
Mon, 11 Nov 2013 15:04:30 +0000 (16:04 +0100)
committerWerner Koch <wk@gnupg.org>
Wed, 13 Nov 2013 08:46:32 +0000 (09:46 +0100)
commitc4f9af49f228df59c218381a25fa3c0f93ccbeae
treec447e87a6854d017cd90f41a0063b6d308806e3e
parent4fb3c8e5a7fc6a1568f54bcc0be17fecf75e0742
ecc: Fix some memory leaks

* cipher/ecc-curves.c (_gcry_mpi_ec_new): Free ec->b before assigning.
* cipher/ecc.c (nist_generate_key): Release Q.
* cipher/ecc-eddsa.c (_gcry_ecc_eddsa_genkey): Ditto.
--

_gcry_mpi_ec_new: Fixing memory leak detected with valgrind; if 'b' is
non-NULL, the code in ec_p_init (ec.c:379) already makes a copy of
'b', so before we clobber ctx->b here, we need to at least release the
old value (however, it would of course be nicer to not first make a
copy of b in the first place, but this is the most localized change to
get rid of the memory leak).

nist_generate_key: Fixing rather obvious local leak; Q is first
initialized, then used, copied into the result but never released.
cipher/ecc-curves.c
cipher/ecc-eddsa.c
cipher/ecc.c