From cdf0868a3d51e29cd185f18bc2d0f037b398a69b Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Mon, 22 Apr 2013 05:30:20 +0000 Subject: [PATCH] etherswitchcfg(8) crashes when you don't set vlangroup members. Fix this to require an argument. PR: kern/177872 Submitted by: Luiz Otavio O Souza --- sbin/etherswitchcfg/etherswitchcfg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sbin/etherswitchcfg/etherswitchcfg.c b/sbin/etherswitchcfg/etherswitchcfg.c index b7ee02c5fd11..a3f286e7724e 100644 --- a/sbin/etherswitchcfg/etherswitchcfg.c +++ b/sbin/etherswitchcfg/etherswitchcfg.c @@ -467,8 +467,11 @@ main(int argc, char *argv[]) case MODE_PORT: case MODE_VLANGROUP: for(i=0; cmds[i].name != NULL; i++) { - if (cfg.mode == cmds[i].mode && strcmp(argv[0], cmds[i].name) == 0 - && argc >= cmds[i].args) { + if (cfg.mode == cmds[i].mode && strcmp(argv[0], cmds[i].name) == 0) { + if (argc < (cmds[i].args + 1)) { + printf("%s needs an argument\n", cmds[i].name); + break; + } (cmds[i].f)(&cfg, argv); argc -= cmds[i].args; argv += cmds[i].args;