Replace execv with execvp as it has the more natural behaviour

这个提交包含在:
Albert S. 2020-08-20 11:58:18 +02:00
父节点 200b6f6c33
当前提交 2e77170115

查看文件

@ -278,8 +278,8 @@ bool run_prog(const char *eventfile, uint32_t eventmask)
script_arguments[i] = eventfile; script_arguments[i] = eventfile;
} }
execv(prog, script_arguments); execvp(prog, script_arguments);
perror("execv"); logerror("Exec of %s failed: %s\n", prog, strerror(errno));
return false; return false;
} }
if(pid == -1) if(pid == -1)
@ -577,12 +577,6 @@ void process_options()
mask |= IN_CLOSE_WRITE; mask |= IN_CLOSE_WRITE;
} }
if(! file_exists(prog))
{
fprintf(stderr, "File %s does not exist\n", prog);
exit(EXIT_FAILURE);
}
if(path_logfile) if(path_logfile)
{ {
path_logfile = xrealpath(path_logfile, NULL); path_logfile = xrealpath(path_logfile, NULL);
@ -590,9 +584,13 @@ void process_options()
if(forkbombcheck) if(forkbombcheck)
{ {
char *path_prog = xrealpath(prog, NULL); char *path_prog = realpath(prog, NULL);
if(path_prog != NULL)
{
check_forkbomb(path_logfile, path_prog); check_forkbomb(path_logfile, path_prog);
} }
free(path_prog);
}
if(daemonize) if(daemonize)
{ {