tame "stdio rpath" for when paths are specified; otherwise tame "stdio"
authorderaadt <deraadt@openbsd.org>
Wed, 7 Oct 2015 03:49:41 +0000 (03:49 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 7 Oct 2015 03:49:41 +0000 (03:49 +0000)
for the stdin case.
ok doug

usr.bin/tail/tail.c

index 5a1727b..41eca15 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: tail.c,v 1.17 2009/10/27 23:59:44 deraadt Exp $       */
+/*     $OpenBSD: tail.c,v 1.18 2015/10/07 03:49:41 deraadt Exp $       */
 
 /*-
  * Copyright (c) 1991, 1993
@@ -61,6 +61,9 @@ main(int argc, char *argv[])
        int ch, first;
        char *p;
 
+       if (tame("stdio rpath", NULL) == -1)
+               err(1, "tame");
+
        /*
         * Tail's options are weird.  First, -n10 is the same as -n-10, not
         * -n+10.  Second, the number options are 1 based and not offsets,
@@ -171,6 +174,9 @@ main(int argc, char *argv[])
                        (void)fclose(fp);
                }
        else {
+               if (tame("stdio", NULL) == -1)
+                       err(1, "tame");
+
                fname = "stdin";
                is_stdin = 1;