g10: Fix a memory leak.
authorNIIBE Yutaka <gniibe@fsij.org>
Wed, 17 Apr 2019 00:58:07 +0000 (09:58 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Wed, 17 Apr 2019 00:58:07 +0000 (09:58 +0900)
* g10/import.c (import): Care PNDING_PKT on error.

--

GnuPG-bug-id: 4461
Reported-by: Philippe Antoine
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
g10/import.c

index 5650867..00bc47c 100644 (file)
@@ -689,6 +689,13 @@ import (ctrl_t ctrl, IOBUF inp, const char* fname,struct import_stats_s *stats,
     log_error (_("error reading '%s': %s\n"), fname, gpg_strerror (rc));
 
   release_kbnode (secattic);
+
+  /* When read_block loop was stopped by error, we have PENDING_PKT left.  */
+  if (pending_pkt)
+    {
+      free_packet (pending_pkt, NULL);
+      xfree (pending_pkt);
+    }
   return rc;
 }