From 173703c450c9245a52e0f2d7d1f5600be2cd14f1 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Wed, 6 May 2009 14:37:32 +0000 Subject: [PATCH] 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: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@192701 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_clialiases.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/res/res_clialiases.c b/res/res_clialiases.c index 156212f6b3..d7e38bbd7f 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);