From df83634e21d9442210ed244c9b4ff1a0c3fbd983 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Mon, 27 Aug 2012 19:11:39 +0000 Subject: [PATCH] Fix a memory leak in parse_ttymodes() (found by Memcheck/Valgrind). [originally from svn r9633] --- ssh.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ssh.c b/ssh.c index bfc10b02..bdab733f 100644 --- a/ssh.c +++ b/ssh.c @@ -1062,12 +1062,14 @@ static void parse_ttymodes(Ssh ssh, * follows it, or 'A' indicating that we should pass the * value through from the local environment via get_ttymode. */ - if (val[0] == 'A') + if (val[0] == 'A') { val = get_ttymode(ssh->frontend, key); - else - val++; /* skip the 'V' */ - if (val) - do_mode(data, key, val); + if (val) { + do_mode(data, key, val); + sfree(val); + } + } else + do_mode(data, key, val + 1); /* skip the 'V' */ } }