From 021fcd3a36169ae53b53e9fc7bd2340ee9a5b535 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Tue, 26 Feb 2002 18:02:43 +0000 Subject: - markus@cvs.openbsd.org 2002/02/24 16:57:19 [sftp-client.c] early close(), missing free; ok stevesk@ --- sftp-client.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sftp-client.c') diff --git a/sftp-client.c b/sftp-client.c index 481341c6..17ac14a9 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -28,7 +28,7 @@ /* XXX: copy between two remote sites */ #include "includes.h" -RCSID("$OpenBSD: sftp-client.c,v 1.23 2002/02/13 00:59:23 djm Exp $"); +RCSID("$OpenBSD: sftp-client.c,v 1.24 2002/02/24 16:57:19 markus Exp $"); #if defined(HAVE_SYS_QUEUE_H) && !defined(HAVE_BOGUS_SYS_QUEUE_H) #include @@ -799,7 +799,6 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path, handle = get_handle(conn->fd_in, id, &handle_len); if (handle == NULL) { buffer_free(&msg); - close(local_fd); return(-1); } @@ -807,6 +806,8 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path, if (local_fd == -1) { error("Couldn't open local file \"%s\" for writing: %s", local_path, strerror(errno)); + buffer_free(&msg); + xfree(handle); return(-1); } -- cgit v1.2.1