]> andersk Git - openssh.git/commitdiff
- (dtucker) OpenBSD CVS Sync
authordtucker <dtucker>
Mon, 6 Dec 2004 11:43:43 +0000 (11:43 +0000)
committerdtucker <dtucker>
Mon, 6 Dec 2004 11:43:43 +0000 (11:43 +0000)
   - markus@cvs.openbsd.org 2004/11/25 22:22:14
     [sftp-client.c sftp.c]
     leak; from mpech

ChangeLog
sftp-client.c
sftp.c

index 625ee9098d6362834af098dd3ce6443e05deec60..1220884c3a9a2e831b434b32bdf2dd24b16df7d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 20041206
  - (dtucker) [TODO WARNING.RNG] Update to reflect current reality.  ok djm@
+ - (dtucker) OpenBSD CVS Sync
+   - markus@cvs.openbsd.org 2004/11/25 22:22:14
+     [sftp-client.c sftp.c]
+     leak; from mpech
 
 20041203
  - (dtucker) OpenBSD CVS Sync
index 0ffacbccc8968c9fed1f6fa82b0198d1795688a5..d894a11f20ce06ca345f0401e596c13dddb8bc31 100644 (file)
@@ -20,7 +20,7 @@
 /* XXX: copy between two remote sites */
 
 #include "includes.h"
-RCSID("$OpenBSD: sftp-client.c,v 1.51 2004/07/11 17:48:47 deraadt Exp $");
+RCSID("$OpenBSD: sftp-client.c,v 1.52 2004/11/25 22:22:14 markus Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -172,6 +172,7 @@ get_handle(int fd, u_int expected_id, u_int *len)
                int status = buffer_get_int(&msg);
 
                error("Couldn't get handle: %s", fx2txt(status));
+               buffer_free(&msg);
                return(NULL);
        } else if (type != SSH2_FXP_HANDLE)
                fatal("Expected SSH2_FXP_HANDLE(%u) packet, got %u",
@@ -206,6 +207,7 @@ get_decode_stat(int fd, u_int expected_id, int quiet)
                        debug("Couldn't stat remote file: %s", fx2txt(status));
                else
                        error("Couldn't stat remote file: %s", fx2txt(status));
+               buffer_free(&msg);
                return(NULL);
        } else if (type != SSH2_FXP_ATTRS) {
                fatal("Expected SSH2_FXP_ATTRS(%u) packet, got %u",
diff --git a/sftp.c b/sftp.c
index 2db394e23fa77aa7578a0be12a6448bea8434df5..b37c36b715fa20b7473d23e49c8b73c352330c69 100644 (file)
--- a/sftp.c
+++ b/sftp.c
@@ -16,7 +16,7 @@
 
 #include "includes.h"
 
-RCSID("$OpenBSD: sftp.c,v 1.57 2004/11/05 12:19:56 djm Exp $");
+RCSID("$OpenBSD: sftp.c,v 1.58 2004/11/25 22:22:14 markus Exp $");
 
 #ifdef USE_LIBEDIT
 #include <histedit.h>
@@ -1265,8 +1265,11 @@ interactive_loop(int fd_in, int fd_out, char *file1, char *file2)
                if (remote_is_dir(conn, dir) && file2 == NULL) {
                        printf("Changing to: %s\n", dir);
                        snprintf(cmd, sizeof cmd, "cd \"%s\"", dir);
-                       if (parse_dispatch_command(conn, cmd, &pwd, 1) != 0)
+                       if (parse_dispatch_command(conn, cmd, &pwd, 1) != 0) {
+                               xfree(dir);
+                               xfree(pwd);
                                return (-1);
+                       }
                } else {
                        if (file2 == NULL)
                                snprintf(cmd, sizeof cmd, "get %s", dir);
This page took 0.049197 seconds and 5 git commands to generate.