X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprocess.c;h=544c2242fcce5bec1c845b520ba0bbf889ea809b;hp=c2940bc52c3a545c1ecc003f929e68725f505819;hb=633c0cf1b067d118d5453bc8522fab65ffc82d2c;hpb=e9576632dc4b780b867044269d06cc50f76d8c05 diff --git a/src/process.c b/src/process.c index c2940bc5..544c2242 100644 --- a/src/process.c +++ b/src/process.c @@ -364,28 +364,29 @@ bool execute_script(const char *name, char **envp) { #ifdef HAVE_SYSTEM int status, len; - struct stat s; char *scriptname, *p; int i; cp(); #ifndef HAVE_MINGW - len = asprintf(&scriptname, "\"%s/%s\"", confbase, name); + len = xasprintf(&scriptname, "\"%s/%s\"", confbase, name); #else - len = asprintf(&scriptname, "\"%s/%s.bat\"", confbase, name); + len = xasprintf(&scriptname, "\"%s/%s.bat\"", confbase, name); #endif if(len < 0) return false; scriptname[len - 1] = '\0'; +#ifndef HAVE_TUNEMU /* First check if there is a script */ - if(stat(scriptname + 1, &s)) { + if(access(scriptname + 1, F_OK)) { free(scriptname); return true; } +#endif ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name); @@ -587,7 +588,7 @@ void setup_signals(void) /* Set a default signal handler for every signal, errors will be ignored. */ - for(i = 0; i < NSIG; i++) { + for(i = 1; i < NSIG; i++) { if(!do_detach) act.sa_handler = SIG_DFL; else