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") +}