diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-08-22 21:57:00 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-08-22 21:57:00 +0200 |
commit | 8fb8ad01516623976431264f89aed40f274c0787 (patch) | |
tree | ea35962c14d5b6b6378457f85a33529d0109df79 /src/agent.c | |
parent | 93c4a8e42748ff2c4b67baf8afe497508f20f75e (diff) | |
download | libssh-8fb8ad01516623976431264f89aed40f274c0787.tar.gz libssh-8fb8ad01516623976431264f89aed40f274c0787.tar.xz libssh-8fb8ad01516623976431264f89aed40f274c0787.zip |
agent: Fix memory leak.
Diffstat (limited to 'src/agent.c')
-rw-r--r-- | src/agent.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/agent.c b/src/agent.c index 2f03ce5a..9566bdb0 100644 --- a/src/agent.c +++ b/src/agent.c @@ -350,6 +350,7 @@ struct ssh_public_key_struct *agent_get_first_ident(struct ssh_session_struct *s struct ssh_public_key_struct *agent_get_next_ident(struct ssh_session_struct *session, char **comment) { struct ssh_key_struct *key; + struct ssh_public_key_struct *pkey; struct ssh_string_struct *blob = NULL; struct ssh_string_struct *tmp = NULL; int rc; @@ -397,7 +398,10 @@ struct ssh_public_key_struct *agent_get_next_ident(struct ssh_session_struct *se return NULL; } - return ssh_pki_convert_key_to_publickey(key); + pkey = ssh_pki_convert_key_to_publickey(key); + ssh_key_free(key); + + return pkey; } ssh_string agent_sign_data(struct ssh_session_struct *session, |