diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-04-16 18:01:26 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-04-16 18:01:26 +0200 |
commit | bf3e0d4f224a26e2ac9bc3edfd1e6eedcf56c9f8 (patch) | |
tree | c74263495311d4ffbeb55f0fb27d102144f55024 /runtime/errmsg.c | |
parent | 5987107df46157eb847bc8271157ab8a7c73f6f4 (diff) | |
download | rsyslog-bf3e0d4f224a26e2ac9bc3edfd1e6eedcf56c9f8.tar.gz rsyslog-bf3e0d4f224a26e2ac9bc3edfd1e6eedcf56c9f8.tar.bz2 rsyslog-bf3e0d4f224a26e2ac9bc3edfd1e6eedcf56c9f8.zip |
prevented segfault during runtime library init phase
Diffstat (limited to 'runtime/errmsg.c')
-rw-r--r-- | runtime/errmsg.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/runtime/errmsg.c b/runtime/errmsg.c index 01d392b7..b555d06a 100644 --- a/runtime/errmsg.c +++ b/runtime/errmsg.c @@ -83,7 +83,15 @@ LogError(int __attribute__((unused)) iErrCode, char *fmt, ... ) } msg[sizeof(msg)/sizeof(char) - 1] = '\0'; /* just to be on the safe side... */ errno = 0; - logmsgInternal(LOG_SYSLOG|LOG_ERR, msg, ADDDATE); + + /* we must check if the runtime is initialized, because else we can NOT + * submit internal errors. -- rgerhards, 2008-04-16 + * TODO: a better way is to set an error handler and check if it is NULL + */ + if(rsrtIsInit()) + logmsgInternal(LOG_SYSLOG|LOG_ERR, msg, ADDDATE); + else + fprintf(stderr, "rsyslog runtime error: %s\n", msg); ENDfunc } |