summaryrefslogtreecommitdiff
path: root/sftp-client.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2008-02-10 22:23:41 +1100
committerDamien Miller <djm@mindrot.org>2008-02-10 22:23:41 +1100
commit6b0c818568b2650f519ee2dc9c685c313d802c1c (patch)
treea5810421e0b7b44a6447d3123fbfe27c6acde9d6 /sftp-client.c
parentd39a3cffc907b54e69c3f607c1f0b74e931696fd (diff)
- djm@cvs.openbsd.org 2008/01/19 22:04:57
[sftp-client.c] fix remote handle leak in do_download() local file open error path; report and fix from sworley AT chkno.net
Diffstat (limited to 'sftp-client.c')
-rw-r--r--sftp-client.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sftp-client.c b/sftp-client.c
index 7df46379c..e8cdb96ac 100644
--- a/sftp-client.c
+++ b/sftp-client.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sftp-client.c,v 1.78 2008/01/11 07:22:27 chl Exp $ */ 1/* $OpenBSD: sftp-client.c,v 1.79 2008/01/19 22:04:57 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> 3 * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
4 * 4 *
@@ -823,6 +823,7 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path,
823 if (local_fd == -1) { 823 if (local_fd == -1) {
824 error("Couldn't open local file \"%s\" for writing: %s", 824 error("Couldn't open local file \"%s\" for writing: %s",
825 local_path, strerror(errno)); 825 local_path, strerror(errno));
826 do_close(conn, handle, handle_len);
826 buffer_free(&msg); 827 buffer_free(&msg);
827 xfree(handle); 828 xfree(handle);
828 return(-1); 829 return(-1);