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);

Reply via email to