diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-06 14:37:32 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-06 14:37:32 +0000 |
commit | 0eea069b39dcacb6746eea9b7c9384c70cf752c2 (patch) | |
tree | 52cf4d2442bf5a3be26de15295486c1867ebc934 /res | |
parent | f3f7a9f9cca3ebe8edf6d332cd09959fc0ef0334 (diff) |
Merged revisions 192700 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r192700 | file | 2009-05-06 11:35:47 -0300 (Wed, 06 May 2009) | 5 lines
Fix an infinite loop with tab completion of CLI aliases that reference themselves.
(closes issue #15020)
Reported by: junky
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@192701 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r-- | res/res_clialiases.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/res/res_clialiases.c b/res/res_clialiases.c index 156212f6b..d7e38bbd7 100644 --- a/res/res_clialiases.c +++ b/res/res_clialiases.c @@ -98,7 +98,9 @@ static char *cli_alias_passthrough(struct ast_cli_entry *e, int cmd, struct ast_ case CLI_GENERATE: line = a->line; line += (strlen(alias->alias)); - if (!ast_strlen_zero(a->word)) { + if (!strncmp(alias->alias, alias->real_cmd, strlen(alias->alias))) { + generator = NULL; + } else if (!ast_strlen_zero(a->word)) { struct ast_str *real_cmd = ast_str_alloca(strlen(alias->real_cmd) + strlen(line) + 1); ast_str_append(&real_cmd, 0, "%s%s", alias->real_cmd, line); generator = ast_cli_generator(ast_str_buffer(real_cmd), a->word, a->n); |