summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libssh/keys.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/libssh/keys.c b/libssh/keys.c
index c4b47f4..04ddcd0 100644
--- a/libssh/keys.c
+++ b/libssh/keys.c
@@ -248,7 +248,6 @@ void publickey_free(PUBLIC_KEY *key) {
}
PUBLIC_KEY *publickey_from_string(SSH_SESSION *session, STRING *pubkey_s) {
- PUBLIC_KEY *key = NULL;
BUFFER *tmpbuf = NULL;
STRING *type_s = NULL;
char *type = NULL;
@@ -277,21 +276,15 @@ PUBLIC_KEY *publickey_from_string(SSH_SESSION *session, STRING *pubkey_s) {
if(strcmp(type, "ssh-dss") == 0) {
SAFE_FREE(type);
- key = publickey_make_dss(session, tmpbuf);
- buffer_free(tmpbuf);
- return key;
+ return publickey_make_dss(session, tmpbuf);
}
if(strcmp(type,"ssh-rsa") == 0) {
SAFE_FREE(type);
- key = publickey_make_rsa(session, tmpbuf,"ssh-rsa");
- buffer_free(tmpbuf);
- return key;
+ return publickey_make_rsa(session, tmpbuf,"ssh-rsa");
}
if (strcmp(type,"ssh-rsa1") == 0) {
SAFE_FREE(type);
- key = publickey_make_rsa(session, tmpbuf,"ssh-rsa1");
- buffer_free(tmpbuf);
- return key;
+ return publickey_make_rsa(session, tmpbuf,"ssh-rsa1");
}
ssh_set_error(session, SSH_FATAL, "Unknown public key protocol %s", type);