diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2013-06-24 18:25:53 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-06-24 18:25:53 +0200 |
commit | ef5887e864307486f0fe07a23ed9ea7c4789dc11 (patch) | |
tree | ad06be320d5f4638cecfb43d6c5ddb22aca7b1ee /grammar/rainerscript.c | |
parent | 394f8dd88908314796e0a2ca679188a8f511f18d (diff) | |
parent | 1de0e68c927e25fd0ca4f859a33d4943c6b8948f (diff) | |
download | rsyslog-ef5887e864307486f0fe07a23ed9ea7c4789dc11.tar.gz rsyslog-ef5887e864307486f0fe07a23ed9ea7c4789dc11.tar.bz2 rsyslog-ef5887e864307486f0fe07a23ed9ea7c4789dc11.zip |
Merge branch 'v7-stable'
Diffstat (limited to 'grammar/rainerscript.c')
-rw-r--r-- | grammar/rainerscript.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c index 89cf946c..95972fbe 100644 --- a/grammar/rainerscript.c +++ b/grammar/rainerscript.c @@ -938,8 +938,14 @@ nvlstGetParams(struct nvlst *lst, struct cnfparamblk *params, for(i = 0 ; i < params->nParams ; ++i) { param = params->descr + i; - if((valnode = nvlstFindNameCStr(lst, param->name)) == NULL) + if((valnode = nvlstFindNameCStr(lst, param->name)) == NULL) { + if(param->flags & CNFPARAM_REQUIRED) { + parser_errmsg("parameter '%s' required but not specified - " + "fix config", param->name); + bInError = 1; + } continue; + } if(vals[i].bUsed) { parser_errmsg("parameter '%s' specified more than once - " "one instance is ignored. Fix config", param->name); @@ -950,7 +956,6 @@ nvlstGetParams(struct nvlst *lst, struct cnfparamblk *params, } } - if(bInError) { if(bValsWasNULL) cnfparamvalsDestruct(vals, params); @@ -3444,6 +3449,8 @@ void cnfparamvalsDestruct(struct cnfparamvals *paramvals, struct cnfparamblk *blk) { int i; + if(paramvals == NULL) + return; for(i = 0 ; i < blk->nParams ; ++i) { if(paramvals[i].bUsed) { varDelete(¶mvals[i].val); |