svn commit: r249748 - head/sbin/etherswitchcfg

Adrian Chadd adrian at FreeBSD.org
Mon Apr 22 05:30:20 UTC 2013


Author: adrian
Date: Mon Apr 22 05:30:20 2013
New Revision: 249748
URL: http://svnweb.freebsd.org/changeset/base/249748

Log:
  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 at gmail.com>

Modified:
  head/sbin/etherswitchcfg/etherswitchcfg.c

Modified: head/sbin/etherswitchcfg/etherswitchcfg.c
==============================================================================
--- head/sbin/etherswitchcfg/etherswitchcfg.c	Mon Apr 22 05:27:13 2013	(r249747)
+++ head/sbin/etherswitchcfg/etherswitchcfg.c	Mon Apr 22 05:30:20 2013	(r249748)
@@ -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;


More information about the svn-src-head mailing list