From 23ae8ca9487a69533e39e3da1f63b88f5bee5629 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Sun, 2 Dec 2007 23:12:30 +1100 Subject: [PATCH] - 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@ --- ChangeLog | 6 +++++- clientloop.c | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 57590bddc..d7345a85a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,10 @@ - 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 @@ -3443,4 +3447,4 @@ OpenServer 6 and add osr5bigcrypt support so when someone migrates passwords between UnixWare and OpenServer they will still work. OK dtucker@ -$Id: ChangeLog,v 1.4802 2007/12/02 12:09:30 dtucker Exp $ +$Id: ChangeLog,v 1.4803 2007/12/02 12:12:30 dtucker Exp $ diff --git a/clientloop.c b/clientloop.c index 7a61cb74d..ba53de483 100644 --- a/clientloop.c +++ b/clientloop.c @@ -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 * Copyright (c) 1995 Tatu Ylonen , 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 */