In Unix PuTTYgen, existing SSH-1 key comments were coming out as "(null)"
[u/mdw/putty] / cmdgen.c
index c4fcc9e..20c0d11 100644 (file)
--- a/cmdgen.c
+++ b/cmdgen.c
@@ -690,7 +690,8 @@ int main(int argc, char **argv)
                char *blob;
                int n, l, bloblen;
 
-               ret = rsakey_pubblob(&infilename, &vblob, &bloblen, &error);
+               ret = rsakey_pubblob(&infilename, &vblob, &bloblen,
+                                    &origcomment, &error);
                blob = (char *)vblob;
 
                n = 4;                 /* skip modulus bits */
@@ -708,7 +709,7 @@ int main(int argc, char **argv)
                    } else
                        n += l;
                }
-               ssh1key->comment = NULL;
+               ssh1key->comment = dupstr(origcomment);
                ssh1key->private_exponent = NULL;
            } else {
                ret = loadrsakey(&infilename, ssh1key, passphrase, &error);
@@ -722,7 +723,7 @@ int main(int argc, char **argv)
          case SSH_KEYTYPE_SSH2:
            if (!load_encrypted) {
                ssh2blob = ssh2_userkey_loadpub(&infilename, &ssh2alg,
-                                               &ssh2bloblen, &error);
+                                               &ssh2bloblen, NULL, &error);
                ssh2algf = find_pubkey_alg(ssh2alg);
                if (ssh2algf)
                    bits = ssh2algf->pubkey_bits(ssh2blob, ssh2bloblen);