Skip to content

Commit f079389

Browse files
authored
Merge pull request commonmark#278 from github/upstream-pledge
Use pledge(2) on OpenBSD
2 parents b1556b3 + 0d6062b commit f079389

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/main.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@
77
#include "cmark.h"
88
#include "node.h"
99

10+
#if defined(__OpenBSD__)
11+
# include <sys/param.h>
12+
# if OpenBSD >= 201605
13+
# define USE_PLEDGE
14+
# include <unistd.h>
15+
# endif
16+
#endif
17+
1018
#if defined(_WIN32) && !defined(__CYGWIN__)
1119
#include <io.h>
1220
#include <fcntl.h>
@@ -77,6 +85,13 @@ int main(int argc, char *argv[]) {
7785
writer_format writer = FORMAT_HTML;
7886
int options = CMARK_OPT_DEFAULT;
7987

88+
#ifdef USE_PLEDGE
89+
if (pledge("stdio rpath", NULL) != 0) {
90+
perror("pledge");
91+
return 1;
92+
}
93+
#endif
94+
8095
#if defined(_WIN32) && !defined(__CYGWIN__)
8196
_setmode(_fileno(stdin), _O_BINARY);
8297
_setmode(_fileno(stdout), _O_BINARY);
@@ -176,6 +191,13 @@ int main(int argc, char *argv[]) {
176191
}
177192
}
178193

194+
#ifdef USE_PLEDGE
195+
if (pledge("stdio", NULL) != 0) {
196+
perror("pledge");
197+
return 1;
198+
}
199+
#endif
200+
179201
document = cmark_parser_finish(parser);
180202
cmark_parser_free(parser);
181203

0 commit comments

Comments
 (0)