Unidiff1 files changed, 4 insertions, 2 deletions
|
diff --git a/cgit.c b/cgit.c index f4dd6ef..e302a7c 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -30,4 +30,5 @@ struct cgit_filter *new_filter(const char *cmd, int extra_args) |
30 | { |
30 | { |
31 | struct cgit_filter *f; |
31 | struct cgit_filter *f; |
| |
32 | int args_size = 0; |
32 | |
33 | |
33 | if (!cmd || !cmd[0]) |
34 | if (!cmd || !cmd[0]) |
@@ -36,7 +37,8 @@ struct cgit_filter *new_filter(const char *cmd, int extra_args) |
36 | f = xmalloc(sizeof(struct cgit_filter)); |
37 | f = xmalloc(sizeof(struct cgit_filter)); |
37 | f->cmd = xstrdup(cmd); |
38 | f->cmd = xstrdup(cmd); |
38 | f->argv = xmalloc((2 + extra_args) * sizeof(char *)); |
39 | args_size = (2 + extra_args) * sizeof(char *); |
| |
40 | f->argv = xmalloc(args_size); |
| |
41 | memset(f->argv, 0, args_size); |
39 | f->argv[0] = f->cmd; |
42 | f->argv[0] = f->cmd; |
40 | f->argv[1] = NULL; |
| |
41 | return f; |
43 | return f; |
42 | } |
44 | } |
|