diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-01-30 13:54:20 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-01-30 13:54:20 +0000 |
commit | 4becae174a3301eac5955f7900d3eef66728e440 (patch) | |
tree | 556f52823f113050a8952717fb32e79a2022e589 /pidfile.c | |
parent | 57cf2138522f3dacf26ea30c6f32a800def70209 (diff) | |
download | rsyslog-4becae174a3301eac5955f7900d3eef66728e440.tar.gz rsyslog-4becae174a3301eac5955f7900d3eef66728e440.tar.xz rsyslog-4becae174a3301eac5955f7900d3eef66728e440.zip |
- fixed a bug that could cause invalid string handling via strerror_r
varmojfekoj provided the patch - many thanks!
- adopted varmojfekoj's patch to v3, some more sterror_r's ;)
Diffstat (limited to 'pidfile.c')
-rw-r--r-- | pidfile.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -23,6 +23,7 @@ #include "rsyslog.h" +#include "syslogd.h" /* * Sat Aug 19 13:24:33 MET DST 1995: Martin Schulze @@ -40,6 +41,8 @@ #include <fcntl.h> #endif +#include "srUtils.h" + /* read_pid * * Reads the specified pidfile and returns the read pid. @@ -121,7 +124,7 @@ int write_pid (char *pidfile) pid = getpid(); if (!fprintf(f,"%d\n", pid)) { char errStr[1024]; - strerror_r(errno, errStr, sizeof(errStr)); + rs_strerror_r(errno, errStr, sizeof(errStr)); printf("Can't write pid , %s.\n", errStr); close(fd); return 0; @@ -131,7 +134,7 @@ int write_pid (char *pidfile) #ifndef __sun if (flock(fd, LOCK_UN) == -1) { char errStr[1024]; - strerror_r(errno, errStr, sizeof(errStr)); + rs_strerror_r(errno, errStr, sizeof(errStr)); printf("Can't unlock pidfile %s, %s.\n", pidfile, errStr); close(fd); return 0; |