]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
- djm@cvs.openbsd.org 2013/12/04 04:20:01
authorDamien Miller <djm@mindrot.org>
Wed, 4 Dec 2013 23:26:32 +0000 (10:26 +1100)
committerDamien Miller <djm@mindrot.org>
Wed, 4 Dec 2013 23:26:32 +0000 (10:26 +1100)
     [sftp-client.c]
     bz#2171: don't leak local_fd on error; from Loganaden Velvindron @
     AfriNIC

ChangeLog
sftp-client.c

index a7fd1d0b1ba300b26c7ee188d68467d9be8dfa26..2d3ec03a52b31621c930d043df362c569a33ac5e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
      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
index 9ecded04b352df248384a9d7b7ed9f5dcca56a16..246e94982ee17a45c03500519d8027106cfab5fd 100644 (file)
@@ -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 <djm@openbsd.org>
  *
@@ -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;