diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-ipmitool-1.8.13/lib/helper.c ./lib/helper.c --- ../orig-ipmitool-1.8.13/lib/helper.c 2013-07-12 14:06:08.000000000 +0200 +++ ./lib/helper.c 2013-10-04 09:09:37.911160342 +0200 @@ -656,7 +656,6 @@ #endif chdir("/"); - umask(0); for (fd=0; fd<64; fd++) { if (fd != intf->fd) diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-ipmitool-1.8.13/src/ipmievd.c ./src/ipmievd.c --- ../orig-ipmitool-1.8.13/src/ipmievd.c 2013-03-29 19:45:16.000000000 +0100 +++ ./src/ipmievd.c 2013-10-04 09:09:37.911160342 +0200 @@ -700,6 +700,7 @@ int i, rc; int daemon = 1; struct sigaction act; + mode_t oldumask; memset(pidfile, 0, 64); sprintf(pidfile, "%s%d", DEFAULT_PIDFILE, eintf->intf->devnum); @@ -761,8 +762,9 @@ ipmi_start_daemon(eintf->intf); - umask(022); + oldumask = umask(022); fp = ipmi_open_file_write(pidfile); + umask(oldumask); if (fp == NULL) { /* Failed to get fp on PID file -> exit. */ log_halt();