aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/col/col.c
diff options
context:
space:
mode:
authorMariusz Zaborski <oshogbo@FreeBSD.org>2016-10-07 17:56:57 +0000
committerMariusz Zaborski <oshogbo@FreeBSD.org>2016-10-07 17:56:57 +0000
commita4e3fc54a0b2fe6f829b80fde801516aec045e9b (patch)
tree4424a1a9b97739eaca0f53e9c3b01ffebbcdd0b5 /usr.bin/col/col.c
parentf2af6f7bf146ad0dedb26ae20a53b9743a5fbe5c (diff)
downloadsrc-a4e3fc54a0b2fe6f829b80fde801516aec045e9b.tar.gz
src-a4e3fc54a0b2fe6f829b80fde801516aec045e9b.zip
Remove the duplicated code using Capsicum helpers.
Reviewed by: cem, ed, bapt, emaste Differential Revision https://reviews.freebsd.org/D8140
Notes
Notes: svn path=/head/; revision=306813
Diffstat (limited to 'usr.bin/col/col.c')
-rw-r--r--usr.bin/col/col.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/usr.bin/col/col.c b/usr.bin/col/col.c
index 13df126e00ba..793cf41167ae 100644
--- a/usr.bin/col/col.c
+++ b/usr.bin/col/col.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#include <sys/capsicum.h>
+#include <capsicum_helpers.h>
#include <err.h>
#include <errno.h>
#include <locale.h>
@@ -135,20 +136,11 @@ main(int argc, char **argv)
int nflushd_lines; /* number of lines that were flushed */
int adjust, opt, warned, width;
const char *errstr;
- cap_rights_t rights;
- unsigned long cmd;
(void)setlocale(LC_CTYPE, "");
- cap_rights_init(&rights, CAP_FSTAT, CAP_READ);
- if (cap_rights_limit(STDIN_FILENO, &rights) < 0 && errno != ENOSYS)
- err(1, "unable to limit rights for stdin");
- cap_rights_init(&rights, CAP_FSTAT, CAP_WRITE, CAP_IOCTL);
- if (cap_rights_limit(STDOUT_FILENO, &rights) < 0 && errno != ENOSYS)
- err(1, "unable to limit rights for stdout");
- cmd = TIOCGETA; /* required by isatty(3) in printf(3) */
- if (cap_ioctls_limit(STDOUT_FILENO, &cmd, 1) < 0 && errno != ENOSYS)
- err(1, "unable to limit ioctls for stdout");
+ if (caph_limit_stdio() == -1)
+ err(1, "unable to limit stdio");
if (cap_enter() < 0 && errno != ENOSYS)
err(1, "unable to enter capability mode");