From bf9d1248c80205795e26156f67aff0b3f796cfce Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Fri, 19 Feb 2016 14:53:29 +0100 Subject: [PATCH] gpg: Initialize the primary key when generating a key. * g10/keygen.c (do_generate_keypair): Initialize pri_psk->flags.primary, pri_psk->keyid and pri_psk->main_keyid. -- Signed-off-by: Neal H. Walfield --- g10/keygen.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/g10/keygen.c b/g10/keygen.c index 7b5a35be9..be132bb07 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4079,6 +4079,13 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para, 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); + if (!err && (revkey = get_parameter_revkey (para, pREVOKER))) err = write_direct_sig (pub_root, pri_psk, revkey, timestamp, cache_nonce);