From 74148dd6a23f875f9e6aee9ac01bdad8ccf0f769 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 5 Sep 2016 23:10:09 +0100 Subject: [PATCH] Fix string frees in _complete_filepath --- src/command/cmd_ac.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c index f60619a3..cedcadee 100644 --- a/src/command/cmd_ac.c +++ b/src/command/cmd_ac.c @@ -3003,25 +3003,21 @@ _complete_filepath(const char *const input, char *const startstr) if (output_off) { if (asprintf(&tmp, "%s/%s", directory, dir->d_name) == -1) { free(foofile); - free(directory); return NULL; } if (asprintf(&acstring, "~/%s", tmp+output_off) == -1) { free(foofile); - free(directory); return NULL; } free(tmp); } else if (strcmp(directory, "/") == 0) { if (asprintf(&acstring, "/%s", dir->d_name) == -1) { free(foofile); - free(directory); return NULL; } } else { if (asprintf(&acstring, "%s/%s", directory, dir->d_name) == -1) { free(foofile); - free(directory); return NULL; } } @@ -3030,9 +3026,10 @@ _complete_filepath(const char *const input, char *const startstr) } closedir(d); } + } else { + free(directory); } free(foofile); - free(directory); result = autocomplete_param_with_ac(input, startstr, filepath_ac, TRUE); if (result) {