Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 2013 05:30:20 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r249748 - head/sbin/etherswitchcfg
Message-ID:  <201304220530.r3M5UKNu008703@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304220530.r3M5UKNu008703>