diff options
author | Justus Winter <[email protected]> | 2016-03-04 12:29:45 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-03-04 12:29:45 +0000 |
commit | 40f6529ceeea806fc011135a9fa3a3590a9534ac (patch) | |
tree | e04ba653d957485189fe17aceb0f8951df83ee11 | |
parent | doc: Drop superfluous 'is'. (diff) | |
download | gnupg-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.c | 15 |
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); |