diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2012-06-06 18:49:42 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2012-06-06 18:49:42 +0200 |
commit | d5585524b7c749c1bbecf1e68b06269be82583e2 (patch) | |
tree | 221ec5ef9f07ceef07c7d6ec0af5675d5edf56a6 /grammar/rainerscript.c | |
parent | 4224ee66376f1a8e914e63f402c71de29180e21c (diff) | |
parent | 27360bb33ff5e87a3852ebe2673170ebea168421 (diff) | |
download | rsyslog-d5585524b7c749c1bbecf1e68b06269be82583e2.tar.gz rsyslog-d5585524b7c749c1bbecf1e68b06269be82583e2.tar.bz2 rsyslog-d5585524b7c749c1bbecf1e68b06269be82583e2.zip |
Merge branch 'beta'
Diffstat (limited to 'grammar/rainerscript.c')
-rw-r--r-- | grammar/rainerscript.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c index 320e66d0..66932c77 100644 --- a/grammar/rainerscript.c +++ b/grammar/rainerscript.c @@ -623,14 +623,13 @@ cnfactlstAddSysline(struct cnfactlst* actlst, char *line) struct cnfcfsyslinelst *cflst; if((cflst = malloc(sizeof(struct cnfcfsyslinelst))) != NULL) { - cflst->next = NULL; cflst->line = line; if(actlst->syslines == NULL) { - actlst->syslines = cflst; + cflst->next = NULL; } else { cflst->next = actlst->syslines; - actlst->syslines = cflst; } + actlst->syslines = cflst; } return actlst; } @@ -1410,6 +1409,9 @@ cnfrulePrint(struct cnfrule *rule) dbgprintf("------ end rule %p\n", rule); } +/* note: the sysline itself was already freed during processing + * and as such MUST NOT be freed again! + */ void cnfcfsyslinelstDestruct(struct cnfcfsyslinelst *cfslst) { @@ -1417,7 +1419,6 @@ cnfcfsyslinelstDestruct(struct cnfcfsyslinelst *cfslst) while(cfslst != NULL) { toDel = cfslst; cfslst = cfslst->next; - free(toDel->line); free(toDel); } } |