From d631ce32edf658f9bf9d39be84ed2c9fab460b00 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Mon, 10 Jan 2011 11:24:15 +0100 Subject: [PATCH] All error path consistent with ssh_packet_kexinit --- src/kex.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/kex.c b/src/kex.c index 38869344..c4723a2b 100644 --- a/src/kex.c +++ b/src/kex.c @@ -290,11 +290,13 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){ } if (buffer_add_ssh_string(session->in_hashbuf, str) < 0) { + ssh_set_error(session, SSH_FATAL, "Error adding string in hash buffer"); goto error; } strings[i] = ssh_string_to_char(str); if (strings[i] == NULL) { + ssh_set_error_oom(session); goto error; } ssh_string_free(str); @@ -305,8 +307,8 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){ if (server_kex) { session->client_kex.methods = malloc(10 * sizeof(char **)); if (session->client_kex.methods == NULL) { - leave_function(); - return -1; + ssh_set_error_oom(session); + goto error; } for (i = 0; i < 10; i++) { @@ -315,8 +317,8 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){ } else { /* client */ session->server_kex.methods = malloc(10 * sizeof(char **)); if (session->server_kex.methods == NULL) { - leave_function(); - return -1; + ssh_set_error_oom(session); + goto error; } for (i = 0; i < 10; i++) {