diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2007-09-04 13:20:07 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2007-09-04 13:20:07 +0000 |
commit | 79a68894b4f63d1684996718f7411e4163d76bba (patch) | |
tree | 4a945db849dd3aae7215d9ef084da53d91c0dfe0 /syslogd.c | |
parent | 5b17b10f432c9b7280624b14ae2f656a34a1a829 (diff) | |
download | rsyslog-79a68894b4f63d1684996718f7411e4163d76bba.tar.gz rsyslog-79a68894b4f63d1684996718f7411e4163d76bba.tar.bz2 rsyslog-79a68894b4f63d1684996718f7411e4163d76bba.zip |
applied patch form varmojfekoj to fix some mem leaks and a check to make
sure that an empty string (NULL) returned by the CStr class does not
cause a program abort.
Diffstat (limited to 'syslogd.c')
-rw-r--r-- | syslogd.c | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -1844,6 +1844,18 @@ static rsRetVal selectorDestruct(void *pVal) assert(pThis != NULL); + if(pThis->pCSHostnameComp != NULL) + rsCStrDestruct(pThis->pCSHostnameComp); + if(pThis->pCSProgNameComp != NULL) + rsCStrDestruct(pThis->pCSProgNameComp); + + if(pThis->f_filter_type == FILTER_PROP) { + if(pThis->f_filterData.prop.pCSPropName != NULL) + rsCStrDestruct(pThis->f_filterData.prop.pCSPropName); + if(pThis->f_filterData.prop.pCSCompValue != NULL) + rsCStrDestruct(pThis->f_filterData.prop.pCSCompValue); + } + llDestroy(&pThis->llActList); free(pThis); @@ -4807,7 +4819,6 @@ static rsRetVal cflineProcessHostSelector(uchar **pline) if(pDfltHostnameCmp != NULL) { if((iRet = rsCStrSetSzStr(pDfltHostnameCmp, NULL)) != RS_RET_OK) return(iRet); - pDfltHostnameCmp = NULL; } } else { dbgprintf("setting BSD-like hostname filter to '%s'\n", *pline); @@ -4852,7 +4863,6 @@ static rsRetVal cflineProcessTagSelector(uchar **pline) if(pDfltProgNameCmp != NULL) { if((iRet = rsCStrSetSzStr(pDfltProgNameCmp, NULL)) != RS_RET_OK) return(iRet); - pDfltProgNameCmp = NULL; } } else { dbgprintf("setting programname filter to '%s'\n", *pline); |