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. */

Reply via email to