From: Damien Miller Date: Wed, 4 Dec 2013 23:26:32 +0000 (+1100) Subject: - djm@cvs.openbsd.org 2013/12/04 04:20:01 X-Git-Tag: V_6_5_P1~120 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9275df3e0a2a3bc3897f7d664ea86a425c8a092d;p=thirdparty%2Fopenssh-portable.git - 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 --- diff --git a/ChangeLog b/ChangeLog index a7fd1d0b1..2d3ec03a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -39,6 +39,10 @@ Loganaden Velvindron @ AfriNIC Also make it a memset for consistency with the rest of cipher.c + - 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 20131121 - (djm) OpenBSD CVS Sync 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 @@ -/* $OpenBSD: sftp-client.c,v 1.109 2013/11/08 11:15:19 dtucker Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.110 2013/12/04 04:20:01 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -1111,6 +1111,8 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path, do_close(conn, handle, handle_len); buffer_free(&msg); free(handle); + if (local_fd != -1) + close(local_fd); return -1; } offset = highwater = st.st_size;