--- /dev/null
+--- a/libcli.c
++++ b/libcli.c
+@@ -427,7 +427,7 @@ struct cli_command *cli_register_command
+ struct cli_command *c;
+
+ if (!command) return NULL;
+- if (!(c = calloc(sizeof(struct cli_command), 1))) return NULL;
++ if (!(c = calloc(1, sizeof(struct cli_command)))) return NULL;
+ c->command_type = CLI_REGULAR_COMMAND;
+ c->callback = callback;
+ c->next = NULL;
+@@ -597,10 +597,10 @@ struct cli_def *cli_init() {
+ struct cli_def *cli;
+ struct cli_command *c;
+
+- if (!(cli = calloc(sizeof(struct cli_def), 1))) return 0;
++ if (!(cli = calloc(1, sizeof(struct cli_def)))) return 0;
+
+ cli->buf_size = 1024;
+- if (!(cli->buffer = calloc(cli->buf_size, 1))) {
++ if (!(cli->buffer = calloc(1, cli->buf_size))) {
+ cli_done(cli);
+ return 0;
+ }
+@@ -778,7 +778,7 @@ static char *cli_int_return_newword(cons
+
+ // allocate space (including terminal NULL, then go through and deal with escaping characters as we copy them
+
+- if (!(newword = calloc(len + 1, 1))) return 0;
++ if (!(newword = calloc(1, len + 1))) return 0;
+ to = newword;
+ while (start != end) {
+ if (*start == '\\')
+@@ -1940,7 +1940,7 @@ int cli_match_filter_init(struct cli_def
+ char *search_flags = cli_get_optarg_value(cli, "search_flags", NULL);
+
+ filt->filter = cli_match_filter;
+- filt->data = state = calloc(sizeof(struct cli_match_filter_state), 1);
++ filt->data = state = calloc(1, sizeof(struct cli_match_filter_state));
+ if (!state) return CLI_ERROR;
+
+ if (!strcmp(cli->pipeline->current_stage->words[0], "include")) {
+@@ -2033,7 +2033,7 @@ int cli_range_filter_init(struct cli_def
+ // from the command line processing and continue
+
+ filt->filter = cli_range_filter;
+- filt->data = state = calloc(sizeof(struct cli_range_filter_state), 1);
++ filt->data = state = calloc(1, sizeof(struct cli_range_filter_state));
+ if (state) {
+ state->from = from;
+ state->to = to;
+@@ -2070,7 +2070,7 @@ int cli_count_filter_init(struct cli_def
+ }
+
+ filt->filter = cli_count_filter;
+- if (!(filt->data = calloc(sizeof(int), 1))) return CLI_ERROR;
++ if (!(filt->data = calloc(1, sizeof(int)))) return CLI_ERROR;
+
+ return CLI_OK;
+ }
+@@ -2127,7 +2127,7 @@ struct cli_command *cli_register_filter(
+ struct cli_command *c;
+
+ if (!command) return NULL;
+- if (!(c = calloc(sizeof(struct cli_command), 1))) return NULL;
++ if (!(c = calloc(1, sizeof(struct cli_command)))) return NULL;
+
+ c->command_type = CLI_FILTER_COMMAND;
+ c->init = init;
+@@ -2239,7 +2239,7 @@ struct cli_optarg *cli_register_optarg(s
+ goto CLEANUP;
+ }
+ }
+- if (!(optarg = calloc(sizeof(struct cli_optarg), 1))) goto CLEANUP;
++ if (!(optarg = calloc(1, sizeof(struct cli_optarg)))) goto CLEANUP;
+ if (!(optarg->name = strdup(name))) goto CLEANUP;
+ if (help && !(optarg->help = strdup(help))) goto CLEANUP;
+
+@@ -2505,7 +2505,7 @@ struct cli_command *cli_int_register_bui
+ struct cli_command *c;
+
+ if (!command) return NULL;
+- if (!(c = calloc(sizeof(struct cli_command), 1))) return NULL;
++ if (!(c = calloc(1, sizeof(struct cli_command)))) return NULL;
+
+ c->flags = flags;
+ c->callback = callback;
+@@ -3068,7 +3068,7 @@ int cli_int_execute_pipeline(struct cli_
+ struct cli_pipeline_stage *stage = &pipeline->stage[stage_num];
+ pipeline->current_stage = stage;
+ cli->found_optargs = stage->found_optargs;
+- *filt = calloc(sizeof(struct cli_filter), 1);
++ *filt = calloc(1, sizeof(struct cli_filter));
+ if (*filt) {
+ if ((rc = stage->command->init(cli, stage->num_words, stage->words, *filt) != CLI_OK)) {
+ break;