summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bin/hilex.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/hilex.c b/bin/hilex.c
index 8a06eb36..2289ef95 100644
--- a/bin/hilex.c
+++ b/bin/hilex.c
@@ -149,6 +149,11 @@ static void ansiHeader(const char *opts[]) {
 	close(rw[0]);
 	close(rw[1]);
 	setlinebuf(stdout);
+
+#ifdef __OpenBSD__
+	error = pledge("stdio", NULL);
+	if (error) err(EX_OSERR, "pledge");
+#endif
 }
 
 static void ansiFooter(const char *opts[]) {
@@ -369,6 +374,16 @@ int main(int argc, char *argv[]) {
 		pager = isatty(STDOUT_FILENO);
 	}
 
+#ifdef __OpenBSD__
+	int error;
+	if (formatter->header == ansiHeader && pager) {
+		error = pledge("stdio proc exec", NULL);
+	} else {
+		error = pledge("stdio", NULL);
+	}
+	if (error) err(EX_OSERR, "pledge");
+#endif
+
 	if (!name) {
 		if (NULL != (name = strrchr(path, '/'))) {
 			name++;