diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | runtime/conf.c | 2 | ||||
-rw-r--r-- | tcps_sess.c | 11 |
3 files changed, 21 insertions, 4 deletions
@@ -6,6 +6,8 @@ Version 4.7.2 [v4-devel] (rgerhards), 2010-05-03 whole atomic operation emulation has been rewritten. - added new $Sleep directive to hold processing for a couple of seconds during startup +- bugfix: programname filter in ! configuration can not be reset + Thanks to Kiss Gabor for the patch. --------------------------------------------------------------------------- Version 4.7.1 [v4-devel] (rgerhards), 2010-04-22 - Solaris support much improved -- was not truely usable in 4.7.0 @@ -43,7 +45,13 @@ Version 4.7.0 [v4-devel] (rgerhards), 2010-04-14 (bugs require certain non-standard settings to appear) Thanks to varmojfekoj for the patch [imported from 4.5.8] --------------------------------------------------------------------------- -Version 4.6.3 [v4-stable] (rgerhards), 2010-04-?? +Version 4.6.4 [v4-stable] (rgerhards), 2010-??-?? +- bugfix: zero-sized (empty) messages were processed by imtcp + they are now dropped as they always should have been +- bugfix: programname filter in ! configuration can not be reset + Thanks to Kiss Gabor for the patch. +--------------------------------------------------------------------------- +Version 4.6.3 [v4-stable] (rgerhards), 2010-07-07 - improvded testbench - added test with truly random data received via syslog to test robustness @@ -681,6 +689,8 @@ Version 3.22.2 [v3-stable] (rgerhards), 2009-07-?? was random (but most often "on") - bugfix: potential segfault when -p command line option was used thanks to varmojfekoj for pointing me at this bug +- bugfix: programname filter in ! configuration can not be reset + Thanks to Kiss Gabor for the patch. --------------------------------------------------------------------------- Version 3.22.1 [v3-stable] (rgerhards), 2009-07-02 - bugfix: invalid error message issued if $inlcudeConfig was on an empty diff --git a/runtime/conf.c b/runtime/conf.c index ef795237..e2d3a889 100644 --- a/runtime/conf.c +++ b/runtime/conf.c @@ -1015,7 +1015,7 @@ static rsRetVal cflineProcessTagSelector(uchar **pline) if(**pline != '\0' && **pline == '*' && *(*pline+1) == '\0') { dbgprintf("resetting programname filter\n"); if(pDfltProgNameCmp != NULL) { - CHKiRet(rsCStrSetSzStr(pDfltProgNameCmp, NULL)); + rsCStrDestruct(&pDfltProgNameCmp); } } else { dbgprintf("setting programname filter to '%s'\n", *pline); diff --git a/tcps_sess.c b/tcps_sess.c index dec14b5a..ea9032b3 100644 --- a/tcps_sess.c +++ b/tcps_sess.c @@ -238,6 +238,11 @@ defaultDoSubmitMessage(tcps_sess_t *pThis, struct syslogTime *stTime, time_t ttG ISOBJ_TYPE_assert(pThis, tcps_sess); + if(pThis->iMsg == 0) { + DBGPRINTF("discarding zero-sized message\n"); + FINALIZE; + } + if(pThis->DoSubmitMessage != NULL) { pThis->DoSubmitMessage(pThis, pThis->pMsg, pThis->iMsg); FINALIZE; @@ -477,8 +482,10 @@ DataRcvd(tcps_sess_t *pThis, char *pData, size_t iLen) CHKiRet(processDataRcvd(pThis, *pData++, &stTime, ttGenTime, &multiSub)); } - /* submit anything that was not yet submitted */ - CHKiRet(multiSubmitMsg(&multiSub)); + if(multiSub.nElem > 0) { + /* submit anything that was not yet submitted */ + CHKiRet(multiSubmitMsg(&multiSub)); + } finalize_it: RETiRet; |