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 |
|
@@ -29,15 +29,17 @@ void add_mimetype(const char *name, const char *value) |
29 | struct cgit_filter *new_filter(const char *cmd, int extra_args) |
29 | 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]) |
34 | return NULL; |
35 | return NULL; |
35 | |
36 | |
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 | } |
43 | |
45 | |
|