diff options
author | Risto Laanoja <ristik@gmail.com> | 2013-06-25 14:09:40 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-06-25 14:09:40 +0200 |
commit | abdbe863cc08c63ea5acc016ae84d85b2695f7f9 (patch) | |
tree | 2a744db1885cb6c78a7ea4d16fb0b075076e4828 /runtime/lmsig_gt.c | |
parent | bb22ba16d69eada5910a6ce604387ad35f0d9d4a (diff) | |
download | rsyslog-abdbe863cc08c63ea5acc016ae84d85b2695f7f9.tar.gz rsyslog-abdbe863cc08c63ea5acc016ae84d85b2695f7f9.tar.bz2 rsyslog-abdbe863cc08c63ea5acc016ae84d85b2695f7f9.zip |
bugfix: lmsig_gt abort on invalid configuration parameters
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=448
Diffstat (limited to 'runtime/lmsig_gt.c')
-rw-r--r-- | runtime/lmsig_gt.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/runtime/lmsig_gt.c b/runtime/lmsig_gt.c index e9194c76..30879dd4 100644 --- a/runtime/lmsig_gt.c +++ b/runtime/lmsig_gt.c @@ -89,7 +89,13 @@ SetCnfParam(void *pT, struct nvlst *lst) int i; uchar *cstr; struct cnfparamvals *pvals; + DEFiRet; pvals = nvlstGetParams(lst, &pblk, NULL); + if(pvals == NULL) { + errmsg.LogError(0, RS_RET_MISSING_CNFPARAMS, + "lmsig_gt: error processing sig. parameters\n"); + ABORT_FINALIZE(RS_RET_MISSING_CNFPARAMS); + } if(Debug) { dbgprintf("sig param blk in lmsig_gt:\n"); cnfparamsPrint(&pblk, pvals); @@ -120,8 +126,10 @@ SetCnfParam(void *pT, struct nvlst *lst) "param '%s'\n", pblk.descr[i].name); } } - cnfparamvalsDestruct(pvals, &pblk); - return RS_RET_OK; +finalize_it: + if(pvals != NULL) + cnfparamvalsDestruct(pvals, &pblk); + RETiRet; } |