]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Report unknown dash option during the pre-parse phase
authorMark Andrews <marka@isc.org>
Thu, 21 Jan 2021 22:58:06 +0000 (09:58 +1100)
committerOndřej Surý <ondrej@sury.org>
Tue, 26 Jan 2021 12:26:10 +0000 (13:26 +0100)
bin/dig/dig.c

index 711dedf430908e818a2c4278d67799cf30d1ee9c..76c491f073b0326f05f5247180369b6e5b324483 100644 (file)
@@ -2341,16 +2341,20 @@ preparse_args(int argc, char **argv) {
                        continue;
                }
                /* Look for dash value option. */
-               if (strpbrk(option, dash_opts) != &option[0] ||
-                   strlen(option) > 1U) {
-                       /* Error or value in option. */
+               if (strpbrk(option, dash_opts) != &option[0]) {
+                       goto invalid_option;
+               }
+               if (strlen(option) > 1U) {
+                       /* value in option. */
                        continue;
                }
                /* Dash value is next argument so we need to skip it. */
                rc--, rv++;
                /* Handle missing argument */
                if (rc == 0) {
-                       break;
+               invalid_option:
+                       fprintf(stderr, "Invalid option: -%s\n", option);
+                       usage();
                }
        }
 }