summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-01-14 08:40:33 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2013-01-14 08:40:33 +0100
commit88020b001b4e0c852bab39ecb63a2d40ed354558 (patch)
tree83857f25168e90cb0570b7017c67b3751542e8a2
parent614b1fba0a56629579ec9bf1cc07cc19bba35e0c (diff)
parentd435d3426f69af5a90cdac5fa64fd91841b844ea (diff)
downloadrsyslog-88020b001b4e0c852bab39ecb63a2d40ed354558.tar.gz
rsyslog-88020b001b4e0c852bab39ecb63a2d40ed354558.tar.bz2
rsyslog-88020b001b4e0c852bab39ecb63a2d40ed354558.zip
Merge branch 'v5-stable' into v7-stable
-rw-r--r--ChangeLog2
-rw-r--r--runtime/datetime.c4
-rw-r--r--tests/tcpflood.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 393e040e..9418d241 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1026,6 +1026,8 @@ Version 5.10.2 [V5-STABLE], 201?-??-??
Thanks to Marius Tomaschewski for the bug report and the patch idea.
- bugfix: invalid DST handling under Solaris
Thanks to Scott Severtson for the patch.
+- bugfix: invalid decrement in pm5424 could lead to log truncation
+ Thanks to Tomas Heinrich for the patch.
- bugfix[kind of]: omudpspoof discarded messages >1472 bytes (MTU size)
it now truncates these message, but ensures they are sent. Note that
7.2.5+ will switch to fragmented UDP messages instead (up to 64K)
diff --git a/runtime/datetime.c b/runtime/datetime.c
index 7d974471..e839bf10 100644
--- a/runtime/datetime.c
+++ b/runtime/datetime.c
@@ -305,8 +305,10 @@ ParseTIMESTAMP3339(struct syslogTime *pTime, uchar** ppszTS, int *pLenStr)
if(OffsetHour < 0 || OffsetHour > 23)
ABORT_FINALIZE(RS_RET_INVLD_TIME);
- if(lenStr == 0 || *pszTS++ != ':')
+ if(lenStr == 0 || *pszTS != ':')
ABORT_FINALIZE(RS_RET_INVLD_TIME);
+ --lenStr;
+ pszTS++;
OffsetMinute = srSLMGParseInt32(&pszTS, &lenStr);
if(OffsetMinute < 0 || OffsetMinute > 59)
ABORT_FINALIZE(RS_RET_INVLD_TIME);
diff --git a/tests/tcpflood.c b/tests/tcpflood.c
index 8fd347f1..4a3199c8 100644
--- a/tests/tcpflood.c
+++ b/tests/tcpflood.c
@@ -429,6 +429,8 @@ int sendMessages(struct instdata *inst)
}
}
genMsg(buf, sizeof(buf), &lenBuf, inst); /* generate the message to send according to params */
+ if(lenBuf == 0)
+ break; /* terminate when no message could be generated */
if(transport == TP_TCP) {
if(sockArray[socknum] == -1) {
/* connection was dropped, need to re-establish */