st.c | 8 ++++---- diff --git a/st.c b/st.c index b9750f28a4eded5b908675bdbb8bb89aac358a5b..76bb3eafbe0ba110af5c85465f3a40906cf5f886 100644 --- a/st.c +++ b/st.c @@ -28,10 +28,6 @@ #elif defined(__FreeBSD__) || defined(__DragonFly__) #include #endif -#ifndef __OpenBSD__ -#define pledge(a,b) 0 -#endif - /* Arbitrary sizes */ #define UTF_INVALID 0xFFFD #define UTF_SIZ 4 @@ -810,13 +806,17 @@ if (ioctl(s, TIOCSCTTY, NULL) < 0) die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); close(s); close(m); +#ifdef __OpenBSD__ if (pledge("stdio getpw proc exec", NULL) == -1) die("pledge\n"); +#endif execsh(cmd, args); break; default: +#ifdef __OpenBSD__ if (pledge("stdio rpath tty proc", NULL) == -1) die("pledge\n"); +#endif close(s); cmdfd = m; signal(SIGCHLD, sigchld);