aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-03-04 12:29:45 +0000
committerJustus Winter <[email protected]>2016-03-04 12:29:45 +0000
commit40f6529ceeea806fc011135a9fa3a3590a9534ac (patch)
treee04ba653d957485189fe17aceb0f8951df83ee11
parentdoc: Drop superfluous 'is'. (diff)
downloadgnupg-40f6529ceeea806fc011135a9fa3a3590a9534ac.tar.gz
gnupg-40f6529ceeea806fc011135a9fa3a3590a9534ac.zip
g10: Guard code against errors.
* g10/keygen.c (do_generate_keypair): Check for errors, in which case 'pri_psk' is NULL. Fixes-commit: bf9d1248 Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to '')
-rw-r--r--g10/keygen.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/g10/keygen.c b/g10/keygen.c
index 8f25fe9eb..1cf864813 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -4077,14 +4077,15 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,
{
pri_psk = pub_root->next->pkt->pkt.public_key;
assert (pri_psk);
- }
- /* Make sure a few fields are correctly set up before going further. */
- pri_psk->flags.primary = 1;
- keyid_from_pk (pri_psk, NULL);
- /* We don't use pk_keyid to get keyid, because it also asserts that
- main_keyid is set! */
- keyid_copy (pri_psk->main_keyid, pri_psk->keyid);
+ /* Make sure a few fields are correctly set up before going
+ further. */
+ pri_psk->flags.primary = 1;
+ keyid_from_pk (pri_psk, NULL);
+ /* We don't use pk_keyid to get keyid, because it also asserts
+ that main_keyid is set! */
+ keyid_copy (pri_psk->main_keyid, pri_psk->keyid);
+ }
if (!err && (revkey = get_parameter_revkey (para, pREVOKER)))
err = write_direct_sig (pub_root, pri_psk, revkey, timestamp, cache_nonce);