gpg: Fix error handling.
authorJustus Winter <justus@g10code.com>
Tue, 20 Jun 2017 08:46:52 +0000 (10:46 +0200)
committerJustus Winter <justus@g10code.com>
Tue, 20 Jun 2017 08:46:52 +0000 (10:46 +0200)
* g10/keygen.c (generate_subkeypair): Handle errors from pinentry.
--

Previously, when generating a subkey, gpg would ask for the passphrase
of the primary key.  If that dialog is canceled, gpg would ask a
second time for a passphrase to protect the new subkey.

Fix this by handling the error.

GnuPG-bug-id: 3212
Signed-off-by: Justus Winter <justus@g10code.com>
g10/keygen.c

index 0dfed63..bfbed0e 100644 (file)
@@ -5041,6 +5041,8 @@ generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const char *algostr,
     err = agent_passwd (ctrl, hexgrip, desc, 1 /*=verify*/,
                         &cache_nonce, &passwd_nonce);
     xfree (desc);
+    if (err)
+      goto leave;
   }
 
   /* Start creation.  */