Diff options
Diffstat (limited to '')
-rw-r--r--source/filter.c9
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;