More restrictive pledge(s) can be done if tmpdir is equal or subordinate to
_PATH_TMP by using the "tmppath" request instead of the "wpath cpath" duo.

For now just do the obvious repledge after the fork/execvp and drop proc
and exec.

Rob

Index: sdiff.c
===================================================================
RCS file: /cvs/src/usr.bin/sdiff/sdiff.c,v
retrieving revision 1.33
diff -u -p -r1.33 sdiff.c
--- sdiff.c     10 Oct 2015 19:03:08 -0000      1.33
+++ sdiff.c     13 Oct 2015 21:16:47 -0000
@@ -314,6 +314,9 @@ main(int argc, char **argv)
                err(2, "could not fork");
        }
 
+       if (pledge("stdio rpath wpath cpath", NULL) == -1)
+               err(1, "pledge");
+
        /* parent */
        /* We don't write to the pipe. */
        close(fd[1]);

Reply via email to