The following reply was made to PR bin/177872; it has been noted by GNATS. From: Luiz Otavio O Souza <loos...@gmail.com> To: Luiz Otavio O Souza <loos...@gmail.com> Cc: bug-follo...@freebsd.org Subject: Re: bin/177872: [patch] etherswitchcfg(8) crashes if called with no argument for vlangroups members Date: Thu, 18 Apr 2013 10:07:23 -0300
--Apple-Mail-4--711296950 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Here is the correct fix. It fix all the cases where it can happen (i.e. = etherswitchctl vlangroupX vlan, etherswitchctl vlangroupX members, = etherswitchcfg port1 vlangroup, etherswitchcfg port1 media, etc.). On Apr 17, 2013, at 5:48 PM, Luiz Otavio O Souza wrote: > Please, don't commit the fix in this PR, it's wrong. I'll submit the = correct fix later. --Apple-Mail-4--711296950 Content-Disposition: attachment; filename=etherswitchcfg-check-arguments.diff Content-Type: application/octet-stream; name="etherswitchcfg-check-arguments.diff" Content-Transfer-Encoding: 7bit Index: sbin/etherswitchcfg/etherswitchcfg.c =================================================================== --- sbin/etherswitchcfg/etherswitchcfg.c (revision 249621) +++ sbin/etherswitchcfg/etherswitchcfg.c (working copy) @@ -466,8 +466,11 @@ 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; --Apple-Mail-4--711296950-- _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"