From 9e59571f840ea13aadd2774dc330a62c9749a242 Mon Sep 17 00:00:00 2001 From: James Booth Date: Mon, 5 Sep 2016 22:27:30 +0100 Subject: [PATCH] Free strings in _complete_filepath --- src/command/cmd_ac.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c index 6bab07ce..f60619a3 100644 --- a/src/command/cmd_ac.c +++ b/src/command/cmd_ac.c @@ -3002,18 +3002,26 @@ _complete_filepath(const char *const input, char *const startstr) char * acstring; 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; } } @@ -3022,10 +3030,9 @@ _complete_filepath(const char *const input, char *const startstr) } closedir(d); } - } else { - free(foofile); - free(directory); } + free(foofile); + free(directory); result = autocomplete_param_with_ac(input, startstr, filepath_ac, TRUE); if (result) {