Unified · Split
| @@ -29,15 +29,17 @@ void add_mimetype(const char *name, const char *value) · 28 unmodified lines | ||
| 29 | 29 | struct cgit_filter *new_filter(const char *cmd, int extra_args) |
| 30 | 30 | { |
| 31 | 31 | struct cgit_filter *f; |
| 32 | + int args_size = 0; | |
| 32 | 33 | |
| 33 | 34 | if (!cmd || !cmd[0]) |
| 34 | 35 | return NULL; |
| 35 | 36 | |
| 36 | 37 | f = xmalloc(sizeof(struct cgit_filter)); |
| 37 | 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 | 42 | f->argv[0] = f->cmd; |
| 40 | − f->argv[1] = NULL; | |
| 41 | 43 | return f; |
| 42 | 44 | } |
| 43 | 45 | |