diff options
author | Doug Hogan <doug@cvs.openbsd.org> | 2015-10-10 05:35:23 +0000 |
---|---|---|
committer | Doug Hogan <doug@cvs.openbsd.org> | 2015-10-10 05:35:23 +0000 |
commit | 3f853bf6be0b80b22d041fa03ff6b73d53bfeca6 (patch) | |
tree | 6ea4f3daa74e50db5d04c9d8e9b6daaf12918fe7 /usr.bin/cmp | |
parent | bf9f8c3bde89dcc1d1e4e28fdc0e2bac85172acd (diff) |
Add pledge support to cmp(1).
This is a simple case of using "stdio rpath" until all files are opened and
then dropping down to "stdio" since it includes "rw" on open fds.
ok deraadt@
Diffstat (limited to 'usr.bin/cmp')
-rw-r--r-- | usr.bin/cmp/cmp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/cmp/cmp.c b/usr.bin/cmp/cmp.c index 80c9a1db8c8..0b5c86345a1 100644 --- a/usr.bin/cmp/cmp.c +++ b/usr.bin/cmp/cmp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmp.c,v 1.12 2009/10/27 23:59:36 deraadt Exp $ */ +/* $OpenBSD: cmp.c,v 1.13 2015/10/10 05:35:22 doug Exp $ */ /* $NetBSD: cmp.c,v 1.7 1995/09/08 03:22:56 tls Exp $ */ /* @@ -57,6 +57,9 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); + if (pledge("stdio rpath", NULL) == -1) + err(1, "pledge"); + while ((ch = getopt(argc, argv, "ls")) != -1) switch (ch) { case 'l': /* print all differences */ @@ -109,6 +112,9 @@ main(int argc, char *argv[]) err(ERR_EXIT, "%s", file2); } + if (pledge("stdio", NULL) == -1) + err(1, "pledge"); + skip1 = argc > 2 ? strtoq(argv[2], NULL, 0) : 0; skip2 = argc == 4 ? strtoq(argv[3], NULL, 0) : 0; |