diff --git a/chat.c b/chat.c index 09d0ca6..2a64ee0 100644 --- a/chat.c +++ b/chat.c @@ -315,6 +315,12 @@ int main(int argc, char *argv[]) { int irc = ircConnect(bind, host, port); +#ifdef __OpenBSD__ + error = pledge(promisesFinal, NULL); + if (error) err(EX_OSERR, "pledge"); + free(promisesFinal); +#endif + if (pass) ircFormat("PASS :%s\r\n", pass); if (sasl) ircFormat("CAP REQ :sasl\r\n"); ircFormat("CAP LS\r\n"); @@ -343,12 +349,6 @@ int main(int argc, char *argv[]) { fcntl(execPipe[1], F_SETFD, FD_CLOEXEC); } -#ifdef __OpenBSD__ - error = pledge(promisesFinal, NULL); - if (error) err(EX_OSERR, "pledge"); - free(promisesFinal); -#endif - struct pollfd fds[] = { { .events = POLLIN, .fd = STDIN_FILENO }, { .events = POLLIN, .fd = irc },