kbx: Avoid faulty fclose in an error case.
authorWerner Koch <wk@gnupg.org>
Wed, 6 Jan 2016 07:39:08 +0000 (08:39 +0100)
committerWerner Koch <wk@gnupg.org>
Wed, 6 Jan 2016 07:39:08 +0000 (08:39 +0100)
* kbx/keybox-update.c (blob_filecopy): Do not close an uninitialized
file pointer after a failure to create a temp file.
* kbx/keybox-openpgp.c (next_packet): Remove duplicate assignment of
PKTLEN.

Signed-off-by: Werner Koch <wk@gnupg.org>
kbx/keybox-openpgp.c
kbx/keybox-update.c

index a5f602b..a0e4ab9 100644 (file)
@@ -71,7 +71,6 @@ next_packet (unsigned char const **bufptr, size_t *buflen,
   if ( !(ctb & 0x80) )
     return gpg_error (GPG_ERR_INV_PACKET); /* Invalid CTB. */
 
-  pktlen = 0;
   if ((ctb & 0x40))  /* New style (OpenPGP) CTB.  */
     {
       pkttype = (ctb & 0x3f);
index ef3e330..aa80865 100644 (file)
@@ -271,12 +271,11 @@ blob_filecopy (int mode, const char *fname, KEYBOXBLOB blob,
       goto leave;
     }
 
-  /* Create the new file. */
+  /* Create the new file.  On success NEWFP is initialized.  */
   rc = create_tmp_file (fname, &bakfname, &tmpfname, &newfp);
   if (rc)
     {
       fclose (fp);
-      fclose (newfp);
       goto leave;
     }