--- a/dav/optparser.c Sat Nov 23 11:46:45 2019 +0100 +++ b/dav/optparser.c Sat Nov 23 15:14:50 2019 +0100 @@ -36,7 +36,9 @@ void cmd_args_free(CmdArgs *args) { if(args) { ucx_map_free(args->options); - free(args->argv); + if(args->argv) { + free(args->argv); + } free(args); } } @@ -44,7 +46,7 @@ CmdArgs* cmd_parse_args(int argc, char **argv) { CmdArgs *a = malloc(sizeof(CmdArgs)); a->options = ucx_map_new(16); - a->argv = calloc(argc, sizeof(char*)); + a->argv = argc > 0 ? calloc(argc, sizeof(char*)) : NULL; a->argc = 0; const char *NOARG = "";