diff options
author | sledz <sledz@ba11ecae-741b-462f-8724-1218f99f5906> | 2010-07-30 15:55:39 +0000 |
---|---|---|
committer | Steffen Sledz <sledz@dresearch.de> | 2010-08-03 07:57:50 +0200 |
commit | 4946a4b375b9a8243db4f9d4b27bc5820f2e0395 (patch) | |
tree | f410c71730ecafef38219b6b5e829d1ff875e2a9 | |
parent | a93982c1a465fa53d49b14bb4ee46518fd6acb04 (diff) |
rsyslog: break potential infinite loop in actionDoRetry
If a module always returns RS_RET_OK (like ompipe does) the actionDoRetry
loop may not have leaved faked ACT_STATE_SUSP state in case iResumeOKinRow
had ever reached a count of 1000.
Signed-off-by: Steffen Sledz <sledz@dresearch.de>
-rw-r--r-- | recipes/rsyslog/files/rsyslog-resume.patch | 29 | ||||
-rw-r--r-- | recipes/rsyslog/rsyslog_5.5.4.bb | 4 |
2 files changed, 32 insertions, 1 deletions
diff --git a/recipes/rsyslog/files/rsyslog-resume.patch b/recipes/rsyslog/files/rsyslog-resume.patch new file mode 100644 index 0000000000..73ed1012c7 --- /dev/null +++ b/recipes/rsyslog/files/rsyslog-resume.patch @@ -0,0 +1,29 @@ +From 467f10a13950b4b8d5a9fff7f14c20874777a4ba Mon Sep 17 00:00:00 2001 +From: Steffen Sledz <sledz@dresearch.de> +Date: Fri, 30 Jul 2010 14:39:53 +0200 +Subject: [PATCH] break potential infinite loop in actionDoRetry + +If a module always returns RS_RET_OK (like ompipe does) the actionDoRetry +loop may not have leaved faked ACT_STATE_SUSP state in case iResumeOKinRow +had ever reached a count of 1000. + +Signed-off-by: Steffen Sledz <sledz@dresearch.de> +--- + action.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/action.c b/action.c +index 32a07dc..90ec1bf 100644 +--- a/action.c ++++ b/action.c +@@ -508,6 +508,7 @@ static rsRetVal actionDoRetry(action_t *pThis, time_t ttNow) + iRet = pThis->pMod->tryResume(pThis->pModData); + if((pThis->iResumeOKinRow > 999) && (pThis->iResumeOKinRow % 1000 == 0)) { + bTreatOKasSusp = 1; ++ pThis->iResumeOKinRow = 0; + } else { + bTreatOKasSusp = 0; + } +-- +1.6.4.2 + diff --git a/recipes/rsyslog/rsyslog_5.5.4.bb b/recipes/rsyslog/rsyslog_5.5.4.bb index 7a3eb5dbc4..e949ed5648 100644 --- a/recipes/rsyslog/rsyslog_5.5.4.bb +++ b/recipes/rsyslog/rsyslog_5.5.4.bb @@ -1,5 +1,7 @@ require rsyslog.inc -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" + +SRC_URI += " file://rsyslog-resume.patch " SRC_URI[md5sum] = "824df2504955df1619e5ec2915d783aa" SRC_URI[sha256sum] = "31853a551ea7ca960c59c9e33406b1748bdf311059c9d8a4ce98816d51b17cac" |