diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2013-06-19 12:19:05 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2013-06-19 12:19:05 +0200 |
commit | f0a362fdbe525cd938efaf0ff9afab3903e82cdf (patch) | |
tree | e7f304558a67c99eee487369d77cef7dd6bd85ee /src/agent.c | |
parent | de4cb811a0fd9ee7e0e56161fdecfe2ba5ce415f (diff) | |
download | libssh-f0a362fdbe525cd938efaf0ff9afab3903e82cdf.tar.gz libssh-f0a362fdbe525cd938efaf0ff9afab3903e82cdf.tar.xz libssh-f0a362fdbe525cd938efaf0ff9afab3903e82cdf.zip |
agent: Fix possible memory leak.
Diffstat (limited to 'src/agent.c')
-rw-r--r-- | src/agent.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/agent.c b/src/agent.c index 95cf6a12..897641b1 100644 --- a/src/agent.c +++ b/src/agent.c @@ -287,9 +287,14 @@ int ssh_agent_get_ident_count(struct ssh_session_struct *session) { /* send message to the agent requesting the list of identities */ request = ssh_buffer_new(); + if (request == NULL) { + ssh_set_error_oom(request); + return -1; + } if (buffer_add_u8(request, c1) < 0) { - ssh_set_error(session, SSH_FATAL, "Not enough space"); - return -1; + ssh_set_error_oom(request); + ssh_buffer_free(request); + return -1; } reply = ssh_buffer_new(); |