diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2012-11-28 15:12:56 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2012-11-28 15:12:56 +0100 |
commit | 60217da3968bcc62048f6afd4c8c77565789c3da (patch) | |
tree | f981f7d94b7e8e5d1c132b222762f3f9b738814d /plugins/mmnormalize/mmnormalize.c | |
parent | e581c3d26ef7fc954bd271b348663a9e5e735ea5 (diff) | |
download | rsyslog-60217da3968bcc62048f6afd4c8c77565789c3da.tar.gz rsyslog-60217da3968bcc62048f6afd4c8c77565789c3da.tar.bz2 rsyslog-60217da3968bcc62048f6afd4c8c77565789c3da.zip |
bugfix: mmnormalize could abort rsyslog if config parameter was in error
Diffstat (limited to 'plugins/mmnormalize/mmnormalize.c')
-rw-r--r-- | plugins/mmnormalize/mmnormalize.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/mmnormalize/mmnormalize.c b/plugins/mmnormalize/mmnormalize.c index 2d42886b..9dbde497 100644 --- a/plugins/mmnormalize/mmnormalize.c +++ b/plugins/mmnormalize/mmnormalize.c @@ -249,15 +249,18 @@ setInstParamDefaults(instanceData *pData) BEGINnewActInst struct cnfparamvals *pvals; int i; + int bDestructPValsOnExit; CODESTARTnewActInst DBGPRINTF("newActInst (mmnormalize)\n"); + bDestructPValsOnExit = 0; pvals = nvlstGetParams(lst, &actpblk, NULL); if(pvals == NULL) { errmsg.LogError(0, RS_RET_MISSING_CNFPARAMS, "mmnormalize: error reading " "config parameters"); ABORT_FINALIZE(RS_RET_MISSING_CNFPARAMS); } + bDestructPValsOnExit = 1; if(Debug) { dbgprintf("action param blk in mmnormalize:\n"); @@ -284,7 +287,8 @@ CODESTARTnewActInst iRet = buildInstance(pData); CODE_STD_FINALIZERnewActInst - cnfparamvalsDestruct(pvals, &actpblk); + if(bDestructPValsOnExit) + cnfparamvalsDestruct(pvals, &actpblk); ENDnewActInst |