summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2013-04-22 05:30:20 +0000
committeradrian <adrian@FreeBSD.org>2013-04-22 05:30:20 +0000
commitd7b15c7958aa79252071abde38d22cb8252dd849 (patch)
treec2266166dc36d1dc7f6c5c12c6e82e8b771c6249 /sbin
parent13b5f44804e74c0740d22aa1e2f1fbbda1d19278 (diff)
downloadFreeBSD-src-d7b15c7958aa79252071abde38d22cb8252dd849.zip
FreeBSD-src-d7b15c7958aa79252071abde38d22cb8252dd849.tar.gz
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 <loos.br@gmail.com>
Diffstat (limited to 'sbin')
-rw-r--r--sbin/etherswitchcfg/etherswitchcfg.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sbin/etherswitchcfg/etherswitchcfg.c b/sbin/etherswitchcfg/etherswitchcfg.c
index b7ee02c..a3f286e 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;
OpenPOWER on IntegriCloud