diff --git a/main/cli.c b/main/cli.c index 5949085e015d60243bf32f619cafdcc02abe76ff..127aa19aba93a8495a910be2e6369e6239091a86 100644 --- a/main/cli.c +++ b/main/cli.c @@ -274,7 +274,7 @@ static int handle_set_debug(int fd, int argc, char *argv[]) } if (!strcasecmp(argv[e->args], "atleast")) atleast = 1; - if (argc > e->args + atleast + 2) + if (argc < e->args + atleast + 1 || argc > e->args + atleast + 2) return RESULT_SHOWUSAGE; if (sscanf(argv[e->args + atleast], "%d", &newlevel) != 1) return RESULT_SHOWUSAGE; @@ -1675,7 +1675,7 @@ static char *__ast_cli_generator(const char *text, const char *word, int state, .fake = "-", .line = matchstr, .word = word, .pos = argindex, - .n = state }; + .n = state - matchnum }; char *args[] = { (char *)e, (char *)&a, NULL }; ret = (char *)e->handler(-1, CLI_GENERATE, args + 1); }