diff options
author | Mariusz Zaborski <oshogbo@FreeBSD.org> | 2018-11-07 21:01:14 +0000 |
---|---|---|
committer | Mariusz Zaborski <oshogbo@FreeBSD.org> | 2018-11-07 21:01:14 +0000 |
commit | a25896ca1270e25b657ceaa8d47d5699515f5c25 (patch) | |
tree | 2dbd5e1e6137b5a68bdde0e686f8fddfe2b152eb /usr.bin/bsdiff/bspatch/bspatch.c | |
parent | 179460e1481ef98aa6824681ee472b0764c9d9a0 (diff) |
Notes
Diffstat (limited to 'usr.bin/bsdiff/bspatch/bspatch.c')
-rw-r--r-- | usr.bin/bsdiff/bspatch/bspatch.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/usr.bin/bsdiff/bspatch/bspatch.c b/usr.bin/bsdiff/bspatch/bspatch.c index c66f28ebf8d9..1056eaa8f275 100644 --- a/usr.bin/bsdiff/bspatch/bspatch.c +++ b/usr.bin/bsdiff/bspatch/bspatch.c @@ -144,26 +144,22 @@ int main(int argc, char *argv[]) atexit(exit_cleanup); #ifdef HAVE_CAPSICUM - if (cap_enter() < 0) { - /* Failed to sandbox, fatal if CAPABILITY_MODE enabled */ - if (errno != ENOSYS) - err(1, "failed to enter security sandbox"); - } else { - /* Capsicum Available */ - cap_rights_init(&rights_ro, CAP_READ, CAP_FSTAT, CAP_SEEK); - cap_rights_init(&rights_wr, CAP_WRITE); - cap_rights_init(&rights_dir, CAP_UNLINKAT); - - if (cap_rights_limit(fileno(f), &rights_ro) < 0 || - cap_rights_limit(fileno(cpf), &rights_ro) < 0 || - cap_rights_limit(fileno(dpf), &rights_ro) < 0 || - cap_rights_limit(fileno(epf), &rights_ro) < 0 || - cap_rights_limit(oldfd, &rights_ro) < 0 || - cap_rights_limit(newfd, &rights_wr) < 0 || - cap_rights_limit(dirfd, &rights_dir) < 0) - err(1, "cap_rights_limit() failed, could not restrict" - " capabilities"); - } + if (cap_enter() < 0) + err(1, "failed to enter security sandbox"); + + cap_rights_init(&rights_ro, CAP_READ, CAP_FSTAT, CAP_SEEK); + cap_rights_init(&rights_wr, CAP_WRITE); + cap_rights_init(&rights_dir, CAP_UNLINKAT); + + if (cap_rights_limit(fileno(f), &rights_ro) < 0 || + cap_rights_limit(fileno(cpf), &rights_ro) < 0 || + cap_rights_limit(fileno(dpf), &rights_ro) < 0 || + cap_rights_limit(fileno(epf), &rights_ro) < 0 || + cap_rights_limit(oldfd, &rights_ro) < 0 || + cap_rights_limit(newfd, &rights_wr) < 0 || + cap_rights_limit(dirfd, &rights_dir) < 0) + err(1, "cap_rights_limit() failed, could not restrict" + " capabilities"); #endif /* |