From 3784226fd85bc1256ef927640f4d400348da038f Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 30 Nov 2018 18:52:18 +0100 Subject: [PATCH] sftp: Do not overwrite errors set by channel functions Signed-off-by: Andreas Schneider --- src/sftp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sftp.c b/src/sftp.c index 7d5654e1..b4ddedcd 100644 --- a/src/sftp.c +++ b/src/sftp.c @@ -115,22 +115,26 @@ sftp_session sftp_new(ssh_session session) sftp->ext = sftp_ext_new(); if (sftp->ext == NULL) { + ssh_set_error_oom(session); goto error; } sftp->read_packet = calloc(1, sizeof(struct sftp_packet_struct)); if (sftp->read_packet == NULL) { + ssh_set_error_oom(session); goto error; } sftp->read_packet->payload = ssh_buffer_new(); if (sftp->read_packet->payload == NULL) { + ssh_set_error_oom(session); goto error; } sftp->session = session; sftp->channel = ssh_channel_new(session); if (sftp->channel == NULL) { + ssh_set_error_oom(session); goto error; } @@ -144,7 +148,6 @@ sftp_session sftp_new(ssh_session session) return sftp; error: - ssh_set_error_oom(session); if (sftp->ext != NULL) { sftp_ext_free(sftp->ext); }