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();