The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=13ce55b66fad2b2b4054a89a1a906f58dc33683b
commit 13ce55b66fad2b2b4054a89a1a906f58dc33683b Author: Zhenlei Huang <z...@freebsd.org> AuthorDate: 2025-01-29 10:00:07 +0000 Commit: Zhenlei Huang <z...@freebsd.org> CommitDate: 2025-01-29 10:00:07 +0000 ip6addrctl(8): Strictly check the number of arguments The additional arguments are useless but may tempt user a wrong usage. Reviewed by: dfr MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48701 --- usr.sbin/ip6addrctl/ip6addrctl.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ip6addrctl/ip6addrctl.c b/usr.sbin/ip6addrctl/ip6addrctl.c index 146b2f1ad3e0..dd5df48048aa 100644 --- a/usr.sbin/ip6addrctl/ip6addrctl.c +++ b/usr.sbin/ip6addrctl/ip6addrctl.c @@ -75,22 +75,24 @@ static void flush_policy(void); int main(int argc, char *argv[]) { - if (argc == 1 || strcasecmp(argv[1], "show") == 0) { + if (argc == 1 || (argc == 2 && strcasecmp(argv[1], "show") == 0)) { get_policy(); dump_policy(); } else if (strcasecmp(argv[1], "add") == 0) { - if (argc < 5) + if (argc != 5) usage(); add_policy(argv[2], argv[3], argv[4]); } else if (strcasecmp(argv[1], "delete") == 0) { - if (argc < 3) + if (argc != 3) usage(); delete_policy(argv[2]); } else if (strcasecmp(argv[1], "flush") == 0) { + if (argc != 2) + usage(); get_policy(); flush_policy(); } else if (strcasecmp(argv[1], "install") == 0) { - if (argc < 3) + if (argc != 3) usage(); configfile = argv[2]; make_policy_fromfile(configfile);