diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2007-07-23 13:07:30 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2007-07-23 13:07:30 +0000 |
commit | 8f236abd49739c0f791c5b893433f7dfa40d3dd8 (patch) | |
tree | 03f0811bf92e1fded5b85976864523d1c0b05e7c /syslogd.c | |
parent | e1acf47244aa6ac6d8151f81bc19cf2fe5ce362d (diff) | |
download | rsyslog-8f236abd49739c0f791c5b893433f7dfa40d3dd8.tar.gz rsyslog-8f236abd49739c0f791c5b893433f7dfa40d3dd8.tar.xz rsyslog-8f236abd49739c0f791c5b893433f7dfa40d3dd8.zip |
fixed a memory leak in config file parsing thanks to varmojfekoj for the
patch
Diffstat (limited to 'syslogd.c')
-rw-r--r-- | syslogd.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -2349,7 +2349,7 @@ static void processMsg(msg_t *pMsg) MsgDestruct(pMsg); (void) close(f->f_file); f->f_file = -1; - } + } } return; /* we are done with emergency loging */ } @@ -3544,11 +3544,17 @@ static void die(int sig) * easier. */ tplDeleteAll(); + if(consfile.f_iov != NULL) free(consfile.f_iov); if(consfile.f_bMustBeFreed != NULL) free(consfile.f_bMustBeFreed); + if(emergfile.f_iov != NULL) + free(emergfile.f_iov); + if(emergfile.f_bMustBeFreed != NULL) + free(emergfile.f_bMustBeFreed); + #ifndef TESTING remove_pid(PidFile); #endif @@ -4948,7 +4954,7 @@ static rsRetVal cflineProcessPropFilter(uchar **pline, register selector_t *f) logerrorSz("error: invalid compare operation '%s' - ignoring selector", (char*) rsCStrGetSzStr(pCSCompOp)); } - RSFREEOBJ(pCSCompOp); /* no longer needed */ + rsCStrDestruct (pCSCompOp); /* no longer needed */ /* read compare value */ iRet = parsQuotedCStr(pPars, &f->f_filterData.prop.pCSCompValue); |