From 6d3d5a446e6791fd2f102b4ae8774e8df2622dc7 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 7 Sep 2011 17:51:43 +0200 Subject: known_hosts: Fix a memleak. --- src/known_hosts.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/known_hosts.c b/src/known_hosts.c index 3f7935e..4200730 100644 --- a/src/known_hosts.c +++ b/src/known_hosts.c @@ -613,13 +613,15 @@ int ssh_write_knownhost(ssh_session session) { /* openssh uses a different format for ssh-rsa1 keys. Be compatible --kv */ rc = ssh_pki_export_pubkey_rsa1(key, host, buffer, sizeof(buffer)); + ssh_key_free(key); + SAFE_FREE(host); if (rc < 0) { fclose(file); - SAFE_FREE(host); return -1; } } else { rc = ssh_pki_export_pubkey_base64(key, &b64_key); + ssh_key_free(key); if (rc < 0) { fclose(file); SAFE_FREE(host); @@ -632,9 +634,9 @@ int ssh_write_knownhost(ssh_session session) { key->type_c, b64_key); + SAFE_FREE(host); SAFE_FREE(b64_key); } - SAFE_FREE(host); if (fwrite(buffer, strlen(buffer), 1, file) != 1 || ferror(file)) { fclose(file); -- cgit