diff options
Diffstat (limited to 'sfeed_gopher.c')
-rw-r--r-- | sfeed_gopher.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sfeed_gopher.c b/sfeed_gopher.c index 0d5b0c9..69b15f6 100644 --- a/sfeed_gopher.c +++ b/sfeed_gopher.c @@ -112,8 +112,17 @@ main(int argc, char *argv[]) char *name, *p, path[PATH_MAX + 1]; int i, r; - if (pledge(argc == 1 ? "stdio" : "stdio rpath wpath cpath", NULL) == -1) - err(1, "pledge"); + if (argc == 1) { + if (pledge("stdio", NULL) == -1) + err(1, "pledge"); + } else { + if (unveil("/", "r") == -1) + err(1, "unveil"); + if (unveil(".", "rwc") == -1) + err(1, "unveil"); + if (pledge("stdio rpath wpath cpath", NULL) == -1) + err(1, "pledge"); + } if ((comparetime = time(NULL)) == -1) err(1, "time"); |