X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/bcb1823f2c7cb3e886e54c6932ff2c37731d8ab8..a607fe54c9f20934b57e29e9040b9dd0a4decf3a:/cmdgen.c diff --git a/cmdgen.c b/cmdgen.c index 86a548e3..33662c3b 100644 --- a/cmdgen.c +++ b/cmdgen.c @@ -763,6 +763,9 @@ int main(int argc, char **argv) } ssh1key->comment = dupstr(origcomment); ssh1key->private_exponent = NULL; + ssh1key->p = NULL; + ssh1key->q = NULL; + ssh1key->iqmp = NULL; } else { ret = loadrsakey(infilename, ssh1key, passphrase, &error); } @@ -776,11 +779,13 @@ int main(int argc, char **argv) if (!load_encrypted) { ssh2blob = ssh2_userkey_loadpub(infilename, &ssh2alg, &ssh2bloblen, NULL, &error); - ssh2algf = find_pubkey_alg(ssh2alg); - if (ssh2algf) - bits = ssh2algf->pubkey_bits(ssh2blob, ssh2bloblen); - else - bits = -1; + if (ssh2blob) { + ssh2algf = find_pubkey_alg(ssh2alg); + if (ssh2algf) + bits = ssh2algf->pubkey_bits(ssh2blob, ssh2bloblen); + else + bits = -1; + } } else { ssh2key = ssh2_load_userkey(infilename, passphrase, &error); }