diff options
Diffstat (limited to 'libssh/keys.c')
-rw-r--r-- | libssh/keys.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/libssh/keys.c b/libssh/keys.c index d25cda3..04ddcd0 100644 --- a/libssh/keys.c +++ b/libssh/keys.c @@ -75,7 +75,6 @@ PUBLIC_KEY *publickey_make_dss(SSH_SESSION *session, BUFFER *buffer) { key = malloc(sizeof(PUBLIC_KEY)); if (key == NULL) { - buffer_free(buffer); return NULL; } @@ -149,7 +148,7 @@ error: string_free(pubkey); publickey_free(key); - return NULL; + return key; } PUBLIC_KEY *publickey_make_rsa(SSH_SESSION *session, BUFFER *buffer, @@ -160,7 +159,6 @@ PUBLIC_KEY *publickey_make_rsa(SSH_SESSION *session, BUFFER *buffer, key = malloc(sizeof(PUBLIC_KEY)); if (key == NULL) { - buffer_free(buffer); return NULL; } @@ -173,7 +171,6 @@ PUBLIC_KEY *publickey_make_rsa(SSH_SESSION *session, BUFFER *buffer, key->type_c = type; e = buffer_get_ssh_string(buffer); n = buffer_get_ssh_string(buffer); - buffer_free(buffer); /* we don't need it anymore */ if(e == NULL || n == NULL) { |