From b0f00b2a3cf5ca095a9a568dc02aaa4b66e76552 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 16 Dec 2015 11:56:44 +0100 Subject: [PATCH] swanctl: Never print more than MAX_LINES of usage summary Print a warning if a registered command exceeds that limit. --- src/swanctl/command.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/swanctl/command.c b/src/swanctl/command.c index 26c4134..fd9bc00 100644 --- a/src/swanctl/command.c +++ b/src/swanctl/command.c @@ -176,6 +176,15 @@ void command_register(command_t command) "uri", 'u', 1, "service URI to connect to" }; } + for (i = 0; cmds[registered].line[i]; i++) + { + if (i == MAX_LINES - 1) + { + fprintf(stderr, "command '%s' specifies too many usage summary " + "lines, please increase MAX_LINES\n", command.cmd); + break; + } + } } registered++; } @@ -217,7 +226,7 @@ int command_usage(char *error, ...) } else { - for (i = 0; cmds[active].line[i]; i++) + for (i = 0; i < MAX_LINES && cmds[active].line[i]; i++) { if (i == 0) { -- 2.7.4