From 180b28ed0209f51ae2ec79cfe5f4c153f3490f3d Mon Sep 17 00:00:00 2001 From: "R. Steve McKown" Date: Fri, 28 Sep 2012 09:58:54 -0600 Subject: [PATCH] Proper free on execvp fail --- repo_shell.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/repo_shell.c b/repo_shell.c index 660c2fd..86e27b2 100644 --- a/repo_shell.c +++ b/repo_shell.c @@ -58,7 +58,7 @@ static char *dequote(char *arg) static char *add_prefix(char *prefix, char* arg) { char *narg = arg; - int i; + int i; if (arg && prefix && (i = strlen(prefix))) { narg = xmalloc(sizeof(char *) * (i + strlen(arg) + 2)); @@ -113,6 +113,7 @@ static int do_git_cmd(const char *cmd, char *arg, char *user) ret = execvp(nargv[0], (char *const *) nargv); /* Code unreached if execv successful */ + free((char*)nargv[1]); free(narg); return ret; } -- 2.39.2