X-Git-Url: https://git.danieliu.xyz/?p=st.git;a=blobdiff_plain;f=st.c;h=76bb3eafbe0ba110af5c85465f3a40906cf5f886;hp=b9750f28a4eded5b908675bdbb8bb89aac358a5b;hb=235a783e039986fca3ccefec08ea45804dab196f;hpb=30ce2cc002585409b36c630512c6ca4db8f88f15 diff --git a/st.c b/st.c index b9750f2..76bb3ea 100644 --- a/st.c +++ b/st.c @@ -28,10 +28,6 @@ #include #endif -#ifndef __OpenBSD__ -#define pledge(a,b) 0 -#endif - /* Arbitrary sizes */ #define UTF_INVALID 0xFFFD #define UTF_SIZ 4 @@ -810,13 +806,17 @@ ttynew(char *line, char *cmd, char *out, char **args) 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);