Diff options
Diffstat (limited to 'source/filter.c')
| -rw-r--r-- | source/filter.c | 9 |
1 file changed, 2 insertions, 7 deletions
diff --git a/source/filter.c b/source/filter.c index a0d5990..424c190 100644 --- a/source/filter.c +++ b/source/filter.c @@ -97,16 +97,13 @@ static void cleanup_exec_filter(struct cgit_filter *base) static struct cgit_filter *new_exec_filter(const char *cmd, int argument_count) { struct cgit_exec_filter *filter; - int argv_size; filter = xmalloc(sizeof(*filter)); cgit_exec_filter_init(filter, cgit_strdup_first_line(cmd), NULL); filter->base.argument_count = argument_count; // argv is the command, then a slot per argument, then the NULL that // execvp needs to find the end. - argv_size = (2 + argument_count) * sizeof(char *); - filter->argv = xmalloc(argv_size); - memset(filter->argv, 0, argv_size); + filter->argv = xcalloc(2 + argument_count, sizeof(char *)); filter->argv[0] = filter->cmd; return &filter->base; } @@ -120,7 +117,6 @@ void cgit_exec_filter_init(struct cgit_exec_filter *filter, const char *cmd, con filter->base.cleanup = cleanup_exec_filter; filter->cmd = cmd; filter->argv = argv; - filter->base.argument_count = 0; } #ifdef NO_LUA @@ -377,8 +373,7 @@ static struct cgit_filter *new_lua_filter(const char *cmd, int argument_count) { struct lua_filter *filter; - filter = xmalloc(sizeof(*filter)); - memset(filter, 0, sizeof(*filter)); + filter = xcalloc(1, sizeof(*filter)); filter->base.open = open_lua_filter; filter->base.close = close_lua_filter; filter->base.fprintfp = fprintf_lua_filter; |
