dav/optparser.c

changeset 684
a4b4257c1a5f
parent 517
8531b63accae
child 721
c401f4af44b1
--- 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 = "";

mercurial