aboutsummaryrefslogtreecommitdiffstats
path: root/connect.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2017-04-20 16:21:58 -0400
committerJunio C Hamano <gitster@pobox.com>2017-04-20 22:02:14 -0700
commit5d2993b6eabb0e0efdbe17bd43a3bec07a1670be (patch)
tree989c324d8025c74f4e8a510c09eb41c44162ad35 /connect.c
parent22e5ae5c8e6859e5670a2c6bbf5798778373144c (diff)
downloadgit-5d2993b6eabb0e0efdbe17bd43a3bec07a1670be.tar.gz
connect.c: fix leak in handle_ssh_variant
When we see an error from split_cmdline(), we exit the function without freeing the copy of the command string we made. This was sort-of introduced by 22e5ae5c8 (connect.c: handle errors from split_cmdline, 2017-04-10). The leak existed before that, but before that commit fixed the bug, we could never trigger this else clause in the first place. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'connect.c')
-rw-r--r--connect.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/connect.c b/connect.c
index 6f2281ab0f..380997afdd 100644
--- a/connect.c
+++ b/connect.c
@@ -738,8 +738,10 @@ static void handle_ssh_variant(const char *ssh_command, int is_cmdline,
* any longer.
*/
free(ssh_argv);
- } else
+ } else {
+ free(p);
return;
+ }
}
if (!strcasecmp(variant, "plink") ||