summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-11-09 18:43:03 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2015-11-09 21:53:55 +0100
commit87d20180c576a211e5abadec60c88caed88629cd (patch)
tree2311c9e2b2569ef47715e011c8a5bb71843f7f11 /src
parentc63b2b3f0ebedb58fdad211ac1847d48b6420d88 (diff)
downloadgnutls-87d20180c576a211e5abadec60c88caed88629cd.tar.gz
certtool: make sure that pkcs12 structures are deinitialized
Diffstat (limited to 'src')
-rw-r--r--src/certtool.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/certtool.c b/src/certtool.c
index fe899f88b3..4098bd3b02 100644
--- a/src/certtool.c
+++ b/src/certtool.c
@@ -3271,6 +3271,7 @@ void generate_pkcs12(common_info_st * cinfo)
gnutls_strerror(result));
exit(1);
}
+ gnutls_pkcs12_bag_deinit(bag);
}
/* Add the ca cert, if any */
@@ -3304,6 +3305,7 @@ void generate_pkcs12(common_info_st * cinfo)
gnutls_strerror(result));
exit(1);
}
+ gnutls_pkcs12_bag_deinit(bag);
}
for (i = 0; i < nkeys; i++) {
@@ -3376,6 +3378,7 @@ void generate_pkcs12(common_info_st * cinfo)
gnutls_strerror(result));
exit(1);
}
+ gnutls_pkcs12_bag_deinit(kbag);
}
result = gnutls_pkcs12_generate_mac(pkcs12, pass);
@@ -3395,7 +3398,11 @@ void generate_pkcs12(common_info_st * cinfo)
}
fwrite(lbuffer, 1, size, outfile);
+ for (i=0;i<ncrts;i++)
+ gnutls_x509_crt_deinit(crts[i]);
gnutls_free(crts);
+ gnutls_x509_crt_deinit(ca_crt);
+ gnutls_pkcs12_deinit(pkcs12);
}
static const char *BAGTYPE(gnutls_pkcs12_bag_type_t x)
@@ -3622,6 +3629,7 @@ void pkcs12_info(common_info_st * cinfo)
fprintf(outfile, "\tSalt size: %u\n", salt_size);
fprintf(outfile, "\tIteration count: %u\n\n", mac_iter);
}
+ gnutls_free(mac_oid);
pass = get_password(cinfo, NULL, 0);
@@ -3640,8 +3648,10 @@ void pkcs12_info(common_info_st * cinfo)
}
result = gnutls_pkcs12_get_bag(pkcs12, indx, bag);
- if (result < 0)
+ if (result < 0) {
+ gnutls_pkcs12_bag_deinit(bag);
break;
+ }
result = gnutls_pkcs12_bag_get_count(bag);
if (result < 0) {
@@ -3686,6 +3696,8 @@ void pkcs12_info(common_info_st * cinfo)
gnutls_pkcs12_bag_deinit(bag);
}
+ gnutls_pkcs12_deinit(pkcs12);
+
if (fail) {
fprintf(stderr,
"There were errors parsing the structure\n");