swanctl: Never print more than MAX_LINES of usage summary

Print a warning if a registered command exceeds that limit.
This commit is contained in:
Tobias Brunner
2015-12-16 12:09:20 +01:00
parent 50e190e8ad
commit b0f00b2a3c
+10 -1
View File
@@ -176,6 +176,15 @@ void command_register(command_t command)
"uri", 'u', 1, "service URI to connect to" "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++; registered++;
} }
@@ -217,7 +226,7 @@ int command_usage(char *error, ...)
} }
else else
{ {
for (i = 0; cmds[active].line[i]; i++) for (i = 0; i < MAX_LINES && cmds[active].line[i]; i++)
{ {
if (i == 0) if (i == 0)
{ {