Commit 81b87165a297c884ca1b818df90f6b9b3b17377b

Thomas de Grivel 2012-04-22T01:07:15

fix command parsing and execution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/git-auth.c b/git-auth.c
index d24ca6c..fa6ffc8 100644
--- a/git-auth.c
+++ b/git-auth.c
@@ -193,7 +193,9 @@ void exec_cmd (const s_symtable *cmd)
   symtable_init(&xc);
   symtable_add(&xc, SHELL);
   symtable_add(&xc, "-c");
-  symtable_add(&xc, cmd->sym[1]);
+  char buf[2048];
+  stracat(buf, sizeof(buf), cmd->sym + 1, cmd->count - 1);
+  symtable_add(&xc, buf);
   log_cmd("EXEC", &xc);
   cleanup();
   execvp(xc.sym[0], (char **)xc.sym);