From: ben Date: Mon, 27 Aug 2012 19:11:39 +0000 (+0000) Subject: Fix a memory leak in parse_ttymodes() (found by Memcheck/Valgrind). X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/ab7a09e5609c979fa3cef449e59a1af615d66f2d Fix a memory leak in parse_ttymodes() (found by Memcheck/Valgrind). git-svn-id: svn://svn.tartarus.org/sgt/putty@9633 cda61777-01e9-0310-a592-d414129be87e --- 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' */ } }