diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2015-06-04 22:56:34 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2015-06-04 22:56:34 +0000 |
commit | 597a4ed555ae4f66aed6776268606a566da38628 (patch) | |
tree | 1f9995b4a2cf379006f79b5fd1aec8dd467765ec /usr.bin | |
parent | b043fb4325ddf0dc62f35c7e877150e6762cf204 (diff) |
systrace(4) STRIOCATTACH can only fail for file(1) if it is already
systraced. If so, silently ignore the error and do not attempt to apply
our own systrace policy. From Patrick Keshishian.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/file/sandbox.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/file/sandbox.c b/usr.bin/file/sandbox.c index 597997a129d..af531962671 100644 --- a/usr.bin/file/sandbox.c +++ b/usr.bin/file/sandbox.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sandbox.c,v 1.7 2015/05/29 15:58:34 nicm Exp $ */ +/* $OpenBSD: sandbox.c,v 1.8 2015/06/04 22:56:33 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott <nicm@openbsd.org> @@ -130,7 +130,7 @@ sandbox_fork(const char *user) close(devfd); if (ioctl(fd, STRIOCATTACH, &pid) == -1) - err(1, "ioctl(STRIOCATTACH)"); + goto out; memset(&policy, 0, sizeof policy); policy.strp_op = SYSTR_POLICY_NEW; @@ -150,6 +150,7 @@ sandbox_fork(const char *user) err(1, "ioctl(STRIOCPOLICY/MODIFY)"); } +out: if (kill(pid, SIGCONT) != 0) err(1, "kill(SIGCONT)"); return (pid); |