From cb507497b63c4a7f16792d76f28af967099ceb41 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 22 Sep 2013 23:39:56 +0100 Subject: [PATCH] Fixed memory leak in parse_args_with_freetext issue #226 --- src/tools/parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/parser.c b/src/tools/parser.c index f273923a..942b17ca 100644 --- a/src/tools/parser.c +++ b/src/tools/parser.c @@ -256,6 +256,8 @@ parse_args_with_freetext(const char * const inp, int min, int max) } } + free(copy); + if (in_token) { tokens = g_slist_append(tokens, g_strndup(token_start, token_size)); } @@ -265,7 +267,6 @@ parse_args_with_freetext(const char * const inp, int min, int max) // if num args not valid return NULL if ((num < min) || (num > max)) { g_slist_free_full(tokens, free); - free(copy); return NULL; // if min allowed is 0 and 0 found, return empty char* array @@ -288,7 +289,6 @@ parse_args_with_freetext(const char * const inp, int min, int max) args[arg_count] = NULL; g_slist_free_full(tokens, free); - free(copy); return args; }