summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2012-11-29 15:16:19 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2012-11-29 15:16:19 +0100
commit9ee83ad87746bd13190d26c2503cbeaeb765950b (patch)
tree59c01e67f7bfc6ace75e3034bad776892f804a5c
parent40daa5ef04fd796ae7b7bce838904cea88e12c54 (diff)
downloadrsyslog-9ee83ad87746bd13190d26c2503cbeaeb765950b.tar.gz
rsyslog-9ee83ad87746bd13190d26c2503cbeaeb765950b.tar.bz2
rsyslog-9ee83ad87746bd13190d26c2503cbeaeb765950b.zip
bugfix: segfault on imuxsock startup if system log socket is used and no ratelimiting supported.
Happens only during initial config read phase, once this is over, everything works stable.
-rw-r--r--ChangeLog3
-rw-r--r--plugins/imuxsock/imuxsock.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ab79114..89d962f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
---------------------------------------------------------------------------
Version 7.3.5 [devel] 2012-11-??
+- bugfix: segfault on imuxsock startup if system log socket is used
+ and no ratelimiting supported. Happens only during initial config
+ read phase, once this is over, everything works stable.
- bugfix: mmnormalize build problems
- bugfix: mmnormalize could abort rsyslog if config parameter was in error
- bugfix: no error message for invalid string template parameters
diff --git a/plugins/imuxsock/imuxsock.c b/plugins/imuxsock/imuxsock.c
index 9e60c9dc..d0055b7a 100644
--- a/plugins/imuxsock/imuxsock.c
+++ b/plugins/imuxsock/imuxsock.c
@@ -1040,6 +1040,10 @@ activateListeners()
listeners[0].bUseSysTimeStamp = runModConf->bUseSysTimeStamp;
listeners[0].flags = runModConf->bIgnoreTimestamp ? IGNDATE : NOFLAG;
listeners[0].flowCtl = runModConf->bUseFlowCtl ? eFLOWCTL_LIGHT_DELAY : eFLOWCTL_NO_DELAY;
+ CHKiRet(ratelimitNew(&listeners[0].dflt_ratelimiter, "imuxsock", NULL));
+ ratelimitSetLinuxLike(listeners[0].dflt_ratelimiter,
+ listeners[0].ratelimitInterval,
+ listeners[0].ratelimitBurst);
sd_fds = sd_listen_fds(0);
if(sd_fds < 0) {