summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2012-09-16 07:57:04 +0200
committerNiels Möller <nisse@lysator.liu.se>2012-09-16 07:57:04 +0200
commit5a77574eb4117e58cc564d97ff2760840f41f7ff (patch)
tree442e9bcbadb32ac4942a2278c4346ca8507b1388
parentb59383d971fac7105c91597d7897ef65c81ec42c (diff)
downloadnettle-5a77574eb4117e58cc564d97ff2760840f41f7ff.tar.gz
Fixed memory leak in pkcs1-conv.
-rw-r--r--ChangeLog6
-rw-r--r--tools/pkcs1-conv.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index fe61ad96..6f16f747 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-09-16 Niels Möller <nisse@lysator.liu.se>
+
+ * 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 <nisse@lysator.liu.se>
* 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;
}