From: Nikos Mavrogiannopoulos Date: Tue, 25 Apr 2017 13:15:27 +0000 (+0200) Subject: certtool: ensure no leaks on pkcs12_info() error paths X-Git-Tag: gnutls_3_6_0~616 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ae1428fc2830e8ed07587fd99f2bc0e5795cfcea;p=thirdparty%2Fgnutls.git certtool: ensure no leaks on pkcs12_info() error paths Signed-off-by: Nikos Mavrogiannopoulos --- diff --git a/src/certtool.c b/src/certtool.c index faa7cc629e..20ae26c44e 100644 --- a/src/certtool.c +++ b/src/certtool.c @@ -3554,6 +3554,7 @@ void pkcs12_info(common_info_st * cinfo) if (result < 0) { fprintf(stderr, "bag_count: %s\n", gnutls_strerror(result)); + gnutls_pkcs12_bag_deinit(bag); app_exit(1); } @@ -3563,6 +3564,7 @@ void pkcs12_info(common_info_st * cinfo) if (result < 0) { fprintf(stderr, "bag_init: %s\n", gnutls_strerror(result)); + gnutls_pkcs12_bag_deinit(bag); app_exit(1); } @@ -3577,6 +3579,7 @@ void pkcs12_info(common_info_st * cinfo) fail = 1; fprintf(stderr, "bag_decrypt: %s\n", gnutls_strerror(result)); + gnutls_pkcs12_bag_deinit(bag); continue; } @@ -3584,6 +3587,7 @@ void pkcs12_info(common_info_st * cinfo) if (result < 0) { fprintf(stderr, "encrypted bag_count: %s\n", gnutls_strerror(result)); + gnutls_pkcs12_bag_deinit(bag); app_exit(1); } }