]> andersk Git - openssh.git/commitdiff
- djm@cvs.openbsd.org 2007/11/03 00:36:14
authordtucker <dtucker>
Sun, 2 Dec 2007 12:12:30 +0000 (12:12 +0000)
committerdtucker <dtucker>
Sun, 2 Dec 2007 12:12:30 +0000 (12:12 +0000)
     [clientloop.c]
     fix memory leak in process_cmdline(), patch from Jan.Pechanec AT Sun.COM;
     ok dtucker@

ChangeLog
clientloop.c

index 560b3dcd1ad5703b6977e1c0e3e4712c1d3bded6..4774575dfc34f8ff709471e84a743d3ac5d1bf14 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
    - jmc@cvs.openbsd.org 2007/10/29 07:48:19
      [ssh_config.5]
      clean up after previous macro removal;
+   - djm@cvs.openbsd.org 2007/11/03 00:36:14
+     [clientloop.c]
+     fix memory leak in process_cmdline(), patch from Jan.Pechanec AT Sun.COM;
+     ok dtucker@
 
 20071030
  - (djm) OpenBSD CVS Sync
index 7a61cb74d6931a6693c8684c2af062463c7bd77b..ba53de4835cc774d60fb6b1b968ef7c28caad2ec 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.182 2007/09/04 03:21:03 djm Exp $ */
+/* $OpenBSD: clientloop.c,v 1.183 2007/11/03 00:36:14 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -953,6 +953,9 @@ process_cmdline(void)
        u_short cancel_port;
        Forward fwd;
 
+       bzero(&fwd, sizeof(fwd));
+       fwd.listen_host = fwd.connect_host = NULL;
+
        leave_raw_mode();
        handler = signal(SIGINT, SIG_IGN);
        cmd = s = read_passphrase("\r\nssh> ", RP_ECHO);
@@ -1052,6 +1055,10 @@ out:
        enter_raw_mode();
        if (cmd)
                xfree(cmd);
+       if (fwd.listen_host != NULL)
+               xfree(fwd.listen_host);
+       if (fwd.connect_host != NULL)
+               xfree(fwd.connect_host);
 }
 
 /* process the characters one by one */
This page took 0.153604 seconds and 5 git commands to generate.