From 40f6529ceeea806fc011135a9fa3a3590a9534ac Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Fri, 4 Mar 2016 13:29:45 +0100 Subject: [PATCH] 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 --- g10/keygen.c | 15 ++++++++------- 1 file 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);