]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - sshpubk.c
Merge branch 'pre-0.64'
[PuTTY.git] / sshpubk.c
index cf9e44b365e1da223e4ac369e34a825ca45c3ae0..cd35afd5ad2a15265324b03fa22bdedfeb4779f5 100644 (file)
--- a/sshpubk.c
+++ b/sshpubk.c
@@ -563,6 +563,12 @@ const struct ssh_signkey *find_pubkey_alg(const char *name)
        return &ssh_rsa;
     else if (!strcmp(name, "ssh-dss"))
        return &ssh_dss;
+    else if (!strcmp(name, "ecdsa-sha2-nistp256"))
+        return &ssh_ecdsa_nistp256;
+    else if (!strcmp(name, "ecdsa-sha2-nistp384"))
+        return &ssh_ecdsa_nistp384;
+    else if (!strcmp(name, "ecdsa-sha2-nistp521"))
+        return &ssh_ecdsa_nistp521;
     else
        return NULL;
 }
@@ -779,6 +785,7 @@ struct ssh2_userkey *ssh2_load_userkey(const Filename *filename,
        }
     }
     sfree(mac);
+    mac = NULL;
 
     /*
      * Create and return the key.
@@ -789,7 +796,6 @@ struct ssh2_userkey *ssh2_load_userkey(const Filename *filename,
     ret->data = alg->createkey(public_blob, public_blob_len,
                               private_blob, private_blob_len);
     if (!ret->data) {
-       sfree(ret->comment);
        sfree(ret);
        ret = NULL;
        error = "createkey failed";