int fd;
pid_t pid;
- if ( ((fd = open(pidfile, O_RDWR|O_CREAT, 0644)) == -1)
- || ((f = fdopen(fd, "r+")) == NULL) ) {
+ if ((fd = open(pidfile, O_RDWR|O_CREAT, 0644)) == -1) {
+ close(fd);
+ return 0;
+ }
+
+ if ((f = fdopen(fd, "r+")) == NULL) {
+ fclose(f);
return 0;
}
pid = getpid();
if (!fprintf(f,"%ld\n", (long)pid)) {
- close(fd);
+ fclose(f);
return 0;
}
fflush(f);
#ifdef HAVE_FLOCK
if (flock(fd, LOCK_UN) == -1) {
- close(fd);
+ fclose(f);
return 0;
}
#endif
- close(fd);
+ fclose(f);
return pid;
}
/* First check if there is a script */
- if(stat(scriptname + 1, &s))
+ if(stat(scriptname + 1, &s)) {
+ free(scriptname);
return true;
+ }
ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name);