summaryrefslogtreecommitdiff
path: root/sftp-client.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2013-12-05 10:26:32 +1100
committerDamien Miller <djm@mindrot.org>2013-12-05 10:26:32 +1100
commit9275df3e0a2a3bc3897f7d664ea86a425c8a092d (patch)
tree19ce14c8e483e8ebee28a97d35f434d3c7f321f2 /sftp-client.c
parent960f6a2b5254e4da082d8aa3700302ed12dc769a (diff)
- djm@cvs.openbsd.org 2013/12/04 04:20:01
[sftp-client.c] bz#2171: don't leak local_fd on error; from Loganaden Velvindron @ AfriNIC
Diffstat (limited to 'sftp-client.c')
-rw-r--r--sftp-client.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sftp-client.c b/sftp-client.c
index 9ecded04b..246e94982 100644
--- a/sftp-client.c
+++ b/sftp-client.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sftp-client.c,v 1.109 2013/11/08 11:15:19 dtucker Exp $ */ 1/* $OpenBSD: sftp-client.c,v 1.110 2013/12/04 04:20:01 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 *
@@ -1111,6 +1111,8 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path,
1111 do_close(conn, handle, handle_len); 1111 do_close(conn, handle, handle_len);
1112 buffer_free(&msg); 1112 buffer_free(&msg);
1113 free(handle); 1113 free(handle);
1114 if (local_fd != -1)
1115 close(local_fd);
1114 return -1; 1116 return -1;
1115 } 1117 }
1116 offset = highwater = st.st_size; 1118 offset = highwater = st.st_size;