From fb9f3226d8ab62d1d7849f3990152a3b7943481f Mon Sep 17 00:00:00 2001
From: Dominik Loidolt <dominik.loidolt@univie.ac.at>
Date: Fri, 17 Jan 2025 16:29:10 +0100
Subject: [PATCH] debug fix leak

---
 test/fuzz/fuzz_cmp_tool.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/test/fuzz/fuzz_cmp_tool.c b/test/fuzz/fuzz_cmp_tool.c
index 8481583..944ad6c 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;
 	}
-- 
GitLab