summaryrefslogtreecommitdiff
path: root/main/editline
diff options
context:
space:
mode:
Diffstat (limited to 'main/editline')
-rw-r--r--main/editline/readline.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/editline/readline.c b/main/editline/readline.c
index adf054d63..d202adbbd 100644
--- a/main/editline/readline.c
+++ b/main/editline/readline.c
@@ -1236,8 +1236,11 @@ filename_completion_function(const char *text, int state)
filename_len = strlen(filename);
dir = opendir(dirname ? dirname : ".");
- if (!dir)
+ if (!dir) {
+ free(filename);
+ free(dirname);
return (NULL); /* cannot open the directory */
+ }
/* find the match */
while ((entry = readdir(dir)) != NULL) {
@@ -1274,6 +1277,8 @@ filename_completion_function(const char *text, int state)
} else
temp = NULL;
closedir(dir);
+ free(filename);
+ free(dirname);
return (temp);
}