]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
- markus@cvs.openbsd.org 2011/09/12 08:46:15
authorDamien Miller <djm@mindrot.org>
Thu, 22 Sep 2011 11:42:45 +0000 (21:42 +1000)
committerDamien Miller <djm@mindrot.org>
Thu, 22 Sep 2011 11:42:45 +0000 (21:42 +1000)
     [sftp-client.c]
     fix leak in do_lsreaddir(); ok djm

ChangeLog
sftp-client.c

index a8846d47a6499587b7268c64d824fd4d15d92a3b..da93065314dcbfa09444c15941347c9633308de5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -67,6 +67,9 @@
      [sftp-client.c]
      fix leaks in do_hardlink() and do_readlink(); bz#1921
      from Loganaden Velvindron
+   - markus@cvs.openbsd.org 2011/09/12 08:46:15
+     [sftp-client.c]
+     fix leak in do_lsreaddir(); ok djm
 
 20110909
  - (dtucker) [entropy.h] Bug #1932: remove old definition of init_rng.  From
index b6d402143051942d246468f04632d2389f6f8012..d7eff70b438c5237914b796006b18e514fd09acb 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-client.c,v 1.95 2011/09/11 16:07:26 markus Exp $ */
+/* $OpenBSD: sftp-client.c,v 1.96 2011/09/12 08:46:15 markus Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -462,12 +462,12 @@ do_lsreaddir(struct sftp_conn *conn, char *path, int printflag,
        buffer_put_cstring(&msg, path);
        send_msg(conn, &msg);
 
-       buffer_clear(&msg);
-
        handle = get_handle(conn, id, &handle_len,
            "remote readdir(\"%s\")", path);
-       if (handle == NULL)
+       if (handle == NULL) {
+               buffer_free(&msg);
                return -1;
+       }
 
        if (dir) {
                ents = 0;
@@ -510,6 +510,7 @@ do_lsreaddir(struct sftp_conn *conn, char *path, int printflag,
                                    fx2txt(status));
                                do_close(conn, handle, handle_len);
                                xfree(handle);
+                               buffer_free(&msg);
                                return(status);
                        }
                } else if (type != SSH2_FXP_NAME)