summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.go6
-rw-r--r--src/protector/protector.go8
-rw-r--r--src/protector/protector_openbsd.go10
3 files changed, 23 insertions, 1 deletions
diff --git a/main.go b/main.go
index 3b59244d..f444f8be 100644
--- a/main.go
+++ b/main.go
@@ -1,9 +1,13 @@
package main
-import "github.com/junegunn/fzf/src"
+import (
+ "github.com/junegunn/fzf/src"
+ "github.com/junegunn/fzf/src/protector"
+)
var revision string
func main() {
+ protector.Protect()
fzf.Run(fzf.ParseOptions(), revision)
}
diff --git a/src/protector/protector.go b/src/protector/protector.go
new file mode 100644
index 00000000..2739c016
--- /dev/null
+++ b/src/protector/protector.go
@@ -0,0 +1,8 @@
+// +build !openbsd
+
+package protector
+
+// Protect calls OS specific protections like pledge on OpenBSD
+func Protect() {
+ return
+}
diff --git a/src/protector/protector_openbsd.go b/src/protector/protector_openbsd.go
new file mode 100644
index 00000000..84a5ded1
--- /dev/null
+++ b/src/protector/protector_openbsd.go
@@ -0,0 +1,10 @@
+// +build openbsd
+
+package protector
+
+import "golang.org/x/sys/unix"
+
+// Protect calls OS specific protections like pledge on OpenBSD
+func Protect() {
+ unix.PledgePromises("stdio rpath tty proc exec")
+}