From c6b7d3d85433a206ac6acd446863ef60cebfc592 Mon Sep 17 00:00:00 2001 From: spectaclehong <spectaclehong@gmail.com> Date: Thu, 28 Sep 2017 16:32:58 +0900 Subject: [PATCH] Fix release functions --- src/main.c | 13 +++++++------ tests/src/command_parsing_test.cc | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index 848ab47..ed0ad03 100644 --- a/src/main.c +++ b/src/main.c @@ -5,7 +5,7 @@ #include "commands.h" #include "utils.h" -static void release_argv(int argc, char** argv); +static void release_argv(int argc, char*** argv); int main() { @@ -34,19 +34,20 @@ int main() fprintf(stderr, "%s: command not found\n", argv[0]); } release_and_continue: - release_argv(argc, argv); + release_argv(argc, &argv); continue; release_and_exit: - release_argv(argc, argv); + release_argv(argc, &argv); break; } return 0; } -static void release_argv(int argc, char** argv) { +static void release_argv(int argc, char*** argv) { for (int i = 0; i < argc; ++i) { - free(argv[i]); + free((*argv)[i]); } - free(argv); + free(*argv); + *argv = NULL; } diff --git a/tests/src/command_parsing_test.cc b/tests/src/command_parsing_test.cc index e7f0601..6f943a1 100644 --- a/tests/src/command_parsing_test.cc +++ b/tests/src/command_parsing_test.cc @@ -98,5 +98,5 @@ static void free_string_array(char*** argv, int num_str) { free(*argv); - argv = NULL; + *argv = NULL; } -- GitLab