tame "stdio cpath rpath fattr", unless mkdir -m is passed a mode which
authorderaadt <deraadt@openbsd.org>
Wed, 7 Oct 2015 14:17:18 +0000 (14:17 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 7 Oct 2015 14:17:18 +0000 (14:17 +0000)
has setuid/setgid/sticky bits.
ok semarie

bin/mkdir/mkdir.c

index 1ce449f..4529af3 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mkdir.c,v 1.25 2013/04/02 20:26:17 naddy Exp $        */
+/*     $OpenBSD: mkdir.c,v 1.26 2015/10/07 14:17:18 deraadt Exp $      */
 /*     $NetBSD: mkdir.c,v 1.14 1995/06/25 21:59:21 mycroft Exp $       */
 
 /*
@@ -82,6 +82,11 @@ main(int argc, char *argv[])
        argc -= optind;
        argv += optind;
 
+       if (mode & (S_ISUID | S_ISGID | S_ISTXT) == 0) {
+               if (tame("stdio cpath rpath fattr", NULL) == -1)
+                       err(1, "tame");
+       }
+
        if (*argv == NULL)
                usage();