From c81f7ba8128e4845553d24b157504bf573e290ab Mon Sep 17 00:00:00 2001 From: Nakidai Date: Tue, 25 Mar 2025 23:50:04 +0300 Subject: Add pledge(2) calls --- main.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index da9d64e..d612828 100644 --- a/main.c +++ b/main.c @@ -15,6 +15,12 @@ int dump = 0; int main(int argc, char **argv) { const char *name = *argv; + int error; +#ifdef __OpenBSD__ + error = pledge("stdio rpath", NULL); + if (error) + err(1, "pledge()"); +#endif /* __OpenBSD__ */ int ch; while ((ch = getopt(argc, argv, "vid")) >= 0) @@ -51,13 +57,20 @@ int main(int argc, char **argv) struct cccl_File file; - int error = cccl_allocfile(*argv, &file); + error = cccl_allocfile(*argv, &file); if (error) err(1, "cccl_readfile()"); FILE *f = fopen(*argv, "r"); if (!f) err(1, "fopen()"); + +#ifdef __OpenBSD__ + error = pledge("stdio", NULL); + if (error) + err(1, "pledge()"); +#endif /* __OpenBSD__ */ + int bytes_read = fread(file.buffer, 1, file.size, f); if (ferror(f) || bytes_read != file.size) errx(1, "couldn't read %s", *argv); -- cgit 1.4.1