diff options
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c index 7a61cb74d..ba53de483 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: clientloop.c,v 1.182 2007/09/04 03:21:03 djm Exp $ */ | 1 | /* $OpenBSD: clientloop.c,v 1.183 2007/11/03 00:36:14 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -953,6 +953,9 @@ process_cmdline(void) | |||
953 | u_short cancel_port; | 953 | u_short cancel_port; |
954 | Forward fwd; | 954 | Forward fwd; |
955 | 955 | ||
956 | bzero(&fwd, sizeof(fwd)); | ||
957 | fwd.listen_host = fwd.connect_host = NULL; | ||
958 | |||
956 | leave_raw_mode(); | 959 | leave_raw_mode(); |
957 | handler = signal(SIGINT, SIG_IGN); | 960 | handler = signal(SIGINT, SIG_IGN); |
958 | cmd = s = read_passphrase("\r\nssh> ", RP_ECHO); | 961 | cmd = s = read_passphrase("\r\nssh> ", RP_ECHO); |
@@ -1052,6 +1055,10 @@ out: | |||
1052 | enter_raw_mode(); | 1055 | enter_raw_mode(); |
1053 | if (cmd) | 1056 | if (cmd) |
1054 | xfree(cmd); | 1057 | xfree(cmd); |
1058 | if (fwd.listen_host != NULL) | ||
1059 | xfree(fwd.listen_host); | ||
1060 | if (fwd.connect_host != NULL) | ||
1061 | xfree(fwd.connect_host); | ||
1055 | } | 1062 | } |
1056 | 1063 | ||
1057 | /* process the characters one by one */ | 1064 | /* process the characters one by one */ |