On Thu, 02 Jun 2022 07:54:02 -0600, "Theo de Raadt" wrote: > I'm fine with a / check, but it also needs documenting. While there can't > we say at least one option must be supplied?
How about this? - todd Index: sbin/dump/dump.8 =================================================================== RCS file: /cvs/src/sbin/dump/dump.8,v retrieving revision 1.54 diff -u -p -u -r1.54 dump.8 --- sbin/dump/dump.8 19 Dec 2019 09:38:03 -0000 1.54 +++ sbin/dump/dump.8 2 Jun 2022 14:39:09 -0000 @@ -293,6 +293,13 @@ In the latter case, certain restrictions is ignored, the only dump level that is supported is .Fl 0 , and all of the files must reside on the same filesystem. +If no options are specified, the first of the +.Ar files-to-dump +must contain a +.Ql / +character to prevent it from being interpreted as a +.Bx 4.3 +option string. .Pp .Nm requires operator intervention on these conditions: Index: sbin/dump/main.c =================================================================== RCS file: /cvs/src/sbin/dump/main.c,v retrieving revision 1.62 diff -u -p -u -r1.62 main.c --- sbin/dump/main.c 21 Jan 2021 00:16:36 -0000 1.62 +++ sbin/dump/main.c 2 Jun 2022 13:32:15 -0000 @@ -718,9 +718,9 @@ obsolete(int *argcp, char **argvp[]) argv = *argvp; argc = *argcp; - /* Return if no arguments or first argument has leading dash. */ + /* Return if no args or first argument has leading dash or a slash. */ ap = argv[1]; - if (argc == 1 || *ap == '-') + if (argc == 1 || *ap == '-' || strchr(ap, '/') != NULL) return; /* Allocate space for new arguments. */