Skip to content
Snippets Groups Projects
Commit fb9f3226 authored by Dominik Loidolt's avatar Dominik Loidolt
Browse files

debug fix leak

parent e8a3f468
Branches
Tags
No related merge requests found
...@@ -148,16 +148,28 @@ err: ...@@ -148,16 +148,28 @@ err:
#define FILE_ARG_SIZE 50 #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) { if (index >= 0) {
printf("allo arrgv[%d]",index);
argv[index] = FUZZ_malloc(FILE_ARG_SIZE); argv[index] = FUZZ_malloc(FILE_ARG_SIZE);
memcpy(argv[index], flag, strlen(flag) + 1); memcpy(argv[index], flag, strlen(flag) + 1);
strcat(argv[index], file); 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 **gen_argv(FUZZ_dataProducer_t *producer, int *argc, char *data_file,
char *model_file, char *cfg_file, char *info_file, char *model_file, char *cfg_file, char *info_file,
const uint8_t *other_arguments, size_t o_args_size) 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, ...@@ -176,9 +188,10 @@ char **gen_argv(FUZZ_dataProducer_t *producer, int *argc, char *data_file,
argv = FUZZ_malloc((size_t)(*argc) * sizeof(argv)); argv = FUZZ_malloc((size_t)(*argc) * sizeof(argv));
/* set program name */ /* 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 */ /* set the file at thend the have a higher priotirty */
i = *argc-1; i = *argc-1;
add_argument_with_file(argv, i--, "-o /tmp/fuzz-output-cmp_tool", ""); add_argument_with_file(argv, i--, "-o /tmp/fuzz-output-cmp_tool", "");
if (FUZZ_dataProducer_uint32Range(producer, 0, 1)) if (FUZZ_dataProducer_uint32Range(producer, 0, 1))
add_argument_with_file(argv, i--, "-d", data_file); add_argument_with_file(argv, i--, "-d", data_file);
...@@ -211,7 +224,6 @@ void free_argv(int argc, char **argv) ...@@ -211,7 +224,6 @@ void free_argv(int argc, char **argv)
int i; int i;
for (i = 0; i < argc; ++i) { for (i = 0; i < argc; ++i) {
printf("free arrgv[%d]",i);
free(argv[i]); free(argv[i]);
argv[i] = NULL; argv[i] = NULL;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment