From: sin Date: Tue, 11 Nov 2014 18:29:11 +0000 (+0000) Subject: Call _exit() instead of exit() if exec*() fails X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=4418939dd9f3a7b3cfd3071234ed18ae86538f2a;p=st.git Call _exit() instead of exit() if exec*() fails exit() will also unwind the atexit() functions. This is bad because if exec*() fails the process is in an inconsistent state. --- diff --git a/st.c b/st.c index 068fbb3..4499be6 100644 --- a/st.c +++ b/st.c @@ -1190,7 +1190,7 @@ execsh(void) { signal(SIGALRM, SIG_DFL); execvp(prog, args); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); } void