diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2015-10-07 14:17:19 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2015-10-07 14:17:19 +0000 |
commit | 5a4a386fbdbe0d16d6614702905e34ca929994db (patch) | |
tree | c6626ffcac34d538e7bd325c60559326d4602d6c /bin/mkdir | |
parent | ea87477555b1281207df8709b6a5aeb7120377ed (diff) |
tame "stdio cpath rpath fattr", unless mkdir -m is passed a mode which
has setuid/setgid/sticky bits.
ok semarie
Diffstat (limited to 'bin/mkdir')
-rw-r--r-- | bin/mkdir/mkdir.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bin/mkdir/mkdir.c b/bin/mkdir/mkdir.c index 1ce449f1697..4529af389f7 100644 --- a/bin/mkdir/mkdir.c +++ b/bin/mkdir/mkdir.c @@ -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(); |