]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
certtool: ensure no leaks on pkcs12_info() error paths
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Tue, 25 Apr 2017 13:15:27 +0000 (15:15 +0200)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Tue, 25 Apr 2017 13:15:27 +0000 (15:15 +0200)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
src/certtool.c

index faa7cc629ea58d4f4483ede01d91e27b83d621b0..20ae26c44efa761036028d7a9eae48104a9dd36c 100644 (file)
@@ -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);
                        }
                }