From: Niels Möller Date: Sun, 16 Sep 2012 05:57:04 +0000 (+0200) Subject: Fixed memory leak in pkcs1-conv. X-Git-Tag: nettle_2.6_release_20130116~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a77574eb4117e58cc564d97ff2760840f41f7ff;p=thirdparty%2Fnettle.git Fixed memory leak in pkcs1-conv. --- diff --git a/ChangeLog b/ChangeLog index fe61ad96..6f16f747 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-09-16 Niels Möller + + * tools/pkcs1-conv.c (convert_public_key): Added missing calls to + dsa_public_key_clear and rsa_public_key_clear. + (main): Added missing nettle_buffer_clear. + 2012-09-10 Niels Möller * examples/eratosthenes.c (main): Explicitly deallocate storage diff --git a/tools/pkcs1-conv.c b/tools/pkcs1-conv.c index 40420c44..231b2acd 100644 --- a/tools/pkcs1-conv.c +++ b/tools/pkcs1-conv.c @@ -415,6 +415,7 @@ convert_public_key(struct nettle_buffer *buffer, unsigned length, const uint8_t nettle_buffer_reset(buffer); res = dsa_keypair_to_sexp(buffer, NULL, &pub, NULL) > 0; } + dsa_public_key_clear(&pub); } if (!res) werror("SubjectPublicKeyInfo: Invalid DSA key.\n"); @@ -438,6 +439,7 @@ convert_public_key(struct nettle_buffer *buffer, unsigned length, const uint8_t nettle_buffer_reset(buffer); res = rsa_keypair_to_sexp(buffer, NULL, &pub, NULL) > 0; } + rsa_public_key_clear(&pub); } if (!res) werror("SubjectPublicKeyInfo: Invalid RSA key.\n"); @@ -448,7 +450,7 @@ convert_public_key(struct nettle_buffer *buffer, unsigned length, const uint8_t } else werror("SubjectPublicKeyInfo: Invalid object.\n"); - + return res; } @@ -656,5 +658,7 @@ main(int argc, char **argv) fclose(f); } } + nettle_buffer_clear (&buffer); + return EXIT_SUCCESS; }