diff --git a/server/modules/routing/debugcli/debugcmd.c b/server/modules/routing/debugcli/debugcmd.c index bf92d5d43..e076c7ee7 100644 --- a/server/modules/routing/debugcli/debugcmd.c +++ b/server/modules/routing/debugcli/debugcmd.c @@ -1553,12 +1553,29 @@ execute_cmd(CLI_SESSION *cli) if (strcasecmp(args[1], cmds[i].options[j].arg1) == 0) { found = 1; /**< command and sub-command match */ - if (argc < cmds[i].options[j].argc_min) + + if (cmds[i].options[j].argc_min == cmds[i].options[j].argc_max && + argc != cmds[i].options[j].argc_min) { + /** Wrong number of arguments */ + dcb_printf(dcb, "Incorrect number of arguments: %s %s expects %d arguments\n", + cmds[i].cmd, cmds[i].options[j].arg1, + cmds[i].options[j].argc_min); + } + else if (argc < cmds[i].options[j].argc_min) + { + /** Not enough arguments */ dcb_printf(dcb, "Incorrect number of arguments: %s %s expects at least %d arguments\n", cmds[i].cmd, cmds[i].options[j].arg1, cmds[i].options[j].argc_min); } + else if (argc > cmds[i].options[j].argc_max) + { + /** Too many arguments */ + dcb_printf(dcb, "Incorrect number of arguments: %s %s expects at most %d arguments\n", + cmds[i].cmd, cmds[i].options[j].arg1, + cmds[i].options[j].argc_max); + } else { unsigned long arg_list[MAXARGS] = {};