diff options
| -rw-r--r-- | cgit.c | 6 |
1 files changed, 4 insertions, 2 deletions
| @@ -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 | ||
