Fixes to make r6434 actually useful.
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Sun, 30 Oct 2005 16:28:45 +0000 (16:28 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Sun, 30 Oct 2005 16:28:45 +0000 (16:28 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@6435 cda61777-01e9-0310-a592-d414129be87e

sshpubk.c

index fddc6e5..812a8e9 100644 (file)
--- a/sshpubk.c
+++ b/sshpubk.c
@@ -71,11 +71,6 @@ static int loadrsakey_main(FILE * fp, struct RSAKey *key, int pub_only,
     if (i < 0)
        goto end;                      /* overran */
 
-    if (pub_only) {
-       ret = 1;
-       goto end;
-    }
-
     /* Next, the comment field. */
     j = GET_32BIT(buf + i);
     i += 4;
@@ -88,9 +83,17 @@ static int loadrsakey_main(FILE * fp, struct RSAKey *key, int pub_only,
     }
     i += j;
     if (commentptr)
-       *commentptr = comment;
+       *commentptr = dupstr(comment);
     if (key)
        key->comment = comment;
+    else
+       sfree(comment);
+
+    if (pub_only) {
+       ret = 1;
+       goto end;
+    }
+
     if (!key) {
        ret = ciphertype != 0;
        *error = NULL;