diff --git a/test/fuzz/fuzz_cmp_tool.c b/test/fuzz/fuzz_cmp_tool.c index 84815836835c2026d9854f912fc513de8ff8de7f..944ad6c816d6a0a7c3c6fbb5edf91aaf7cc5e450 100644 --- a/test/fuzz/fuzz_cmp_tool.c +++ b/test/fuzz/fuzz_cmp_tool.c @@ -148,16 +148,28 @@ err: #define FILE_ARG_SIZE 50 -static void add_argument_with_file(char **argv, int index, const char *flag, const char *file) + +static void add_argument_with_file_intern(char **argv, int index, const char *flag, const char *file) { if (index >= 0) { - printf("allo arrgv[%d]",index); argv[index] = FUZZ_malloc(FILE_ARG_SIZE); memcpy(argv[index], flag, strlen(flag) + 1); strcat(argv[index], file); } } +static void add_program_name(char **argv, const char *name) +{ + add_argument_with_file_intern(argv, 0, name, ""); +} + +static void add_argument_with_file(char **argv, int index, const char *flag, const char *file) +{ + if (index > 0) + add_argument_with_file_intern(argv, index, flag, file); +} + + char **gen_argv(FUZZ_dataProducer_t *producer, int *argc, char *data_file, char *model_file, char *cfg_file, char *info_file, const uint8_t *other_arguments, size_t o_args_size) @@ -176,9 +188,10 @@ char **gen_argv(FUZZ_dataProducer_t *producer, int *argc, char *data_file, argv = FUZZ_malloc((size_t)(*argc) * sizeof(argv)); /* set program name */ - add_argument_with_file(argv, 0, "cmp_tool_fuzz", ""); + add_program_name(argv, "cmp_tool_fuzz"); /* set the file at thend the have a higher priotirty */ i = *argc-1; + add_argument_with_file(argv, i--, "-o /tmp/fuzz-output-cmp_tool", ""); if (FUZZ_dataProducer_uint32Range(producer, 0, 1)) add_argument_with_file(argv, i--, "-d", data_file); @@ -211,7 +224,6 @@ void free_argv(int argc, char **argv) int i; for (i = 0; i < argc; ++i) { - printf("free arrgv[%d]",i); free(argv[i]); argv[i] = NULL; }