Commit a2f4a3591f215ab55f58ef4ee630b960af87a4d5

Stefan Sperling 2020-02-28T19:37:37

properly free cmd_argv in tog's main() function

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/tog/tog.c b/tog/tog.c
index 727b3c5..c91d11d 100644
--- a/tog/tog.c
+++ b/tog/tog.c
@@ -5432,7 +5432,13 @@ main(int argc, char *argv[])
 		error = cmd->cmd_main(argc, cmd_argv ? cmd_argv : argv);
 
 	endwin();
-	free(cmd_argv);
+	if (cmd_argv) {
+		int i;
+		for (i = 0; i < argc; i++)
+			free(cmd_argv[i]);
+		free(cmd_argv);
+	}
+
 	if (error && error->code != GOT_ERR_CANCELLED)
 		fprintf(stderr, "%s: %s\n", getprogname(), error->msg);
 	return 0;