summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasterisk.c5
-rwxr-xr-xcli.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/asterisk.c b/asterisk.c
index 8e64773f6..29c1645eb 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -949,6 +949,7 @@ static char *cli_complete(EditLine *el, int ch)
if (matches) {
int i;
+ int x;
int matches_num, maxlen, match_len;
if (matches[0][0] != '\0') {
@@ -978,6 +979,10 @@ static char *cli_complete(EditLine *el, int ch)
retval = CC_REFRESH;
}
}
+ for (x=0; matches[x]; x++) {
+ free(matches[x]);
+ matches[x] = NULL;
+ }
free(matches);
}
diff --git a/cli.c b/cli.c
index ae6876fad..544ead830 100755
--- a/cli.c
+++ b/cli.c
@@ -864,12 +864,14 @@ int ast_cli_generatornummatches(char *text, char *word)
while ( (buf = ast_cli_generator(text, word, i)) ) {
if (++i > 1 && strcmp(buf,oldbuf) == 0) {
+ free(buf);
continue;
}
oldbuf = buf;
matches++;
}
-
+ free(oldbuf);
+ free(buf);
return matches;
}