diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2010-12-03 17:59:12 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2010-12-03 17:59:12 +0100 |
commit | 925b060b2932a7f9ddee1e0fcbaa6266ba03d8b1 (patch) | |
tree | 9f67e74184361cff92eee903aa9a6bb53c76aa81 /action.c | |
parent | 4618773be685488e081bebb397db32851dc16782 (diff) | |
download | rsyslog-925b060b2932a7f9ddee1e0fcbaa6266ba03d8b1.tar.gz rsyslog-925b060b2932a7f9ddee1e0fcbaa6266ba03d8b1.tar.xz rsyslog-925b060b2932a7f9ddee1e0fcbaa6266ba03d8b1.zip |
bugfix: potential abort when output modules with different parameter ...
... passing modes were used in configured output modules
Diffstat (limited to 'action.c')
-rw-r--r-- | action.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -672,6 +672,8 @@ static rsRetVal prepareDoActionParams(action_t *pAction, msg_t *pMsg, uchar **pp for(i = 0 ; i < pAction->iNumTpls ; ++i) { switch(pAction->eParamPassing) { case ACT_STRING_PASSING: + if(ppMsgs[i] == NULL) + lenMsgs[i] = 0; CHKiRet(tplToString(pAction->ppTpl[i], pMsg, &(ppMsgs[i]), &lenMsgs[i])); break; case ACT_ARRAY_PASSING: @@ -788,7 +790,7 @@ finalize_it: cleanupDoActionParams(pThis, actParams); /* iRet ignored! */ break; case ACT_MSG_PASSING: - /* nothing to do in that case */ + /* (almost) nothing to do in that case */ for(i = 0 ; i < pThis->iNumTpls ; ++i) { ((uchar**)actParams)[i] = NULL; } |