From fbf75dd075fd4b5014b1f0a3d093bf951cee7662 Mon Sep 17 00:00:00 2001 From: Zdenek Styblik Date: Wed, 25 Jan 2012 09:02:59 +0000 Subject: [PATCH] Adds check whether PID fp was acquired or not. If not, then init logging facility, print error and exit. --- ipmitool/src/ipmievd.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ipmitool/src/ipmievd.c b/ipmitool/src/ipmievd.c index bf1c3ae..cd51d23 100644 --- a/ipmitool/src/ipmievd.c +++ b/ipmitool/src/ipmievd.c @@ -748,10 +748,17 @@ ipmievd_main(struct ipmi_event_intf * eintf, int argc, char ** argv) umask(022); fp = ipmi_open_file_write(pidfile); - if (fp != NULL) { - fprintf(fp, "%d\n", (int)getpid()); - fclose(fp); + if (fp == NULL) { + /* Failed to get fp on PID file -> exit. */ + log_halt(); + log_init("ipmievd", daemon, verbose); + lprintf(LOG_ERR, + "Failed to open PID file '%s' for writing. Check file permission.\n", + pidfile); + exit(EXIT_FAILURE); } + fprintf(fp, "%d\n", (int)getpid()); + fclose(fp); } /* register signal handler for cleanup */