This commit is contained in:
Peter Vrabec 2008-03-19 09:53:31 +00:00
parent b45e56dabf
commit 8ce62a12aa
6 changed files with 90 additions and 43 deletions

View File

@ -1,4 +1,4 @@
rsyslog-3.12.1.tar.gz
rsyslog-3.12.3.tar.gz
rsyslog.conf
rsyslog.init
rsyslog.sysconfig

View File

@ -1,33 +0,0 @@
diff -up rsyslog-3.12.1/omfile.c.orig rsyslog-3.12.1/omfile.c
--- rsyslog-3.12.1/omfile.c.orig 2008-03-11 11:20:02.000000000 +0100
+++ rsyslog-3.12.1/omfile.c 2008-03-11 11:23:46.000000000 +0100
@@ -356,7 +356,8 @@ static void dynaFileFreeCache(instanceDa
dynaFileDelCacheEntry(pData->dynCache, i, 1);
}
- d_free(pData->dynCache);
+ if(pData->dynCache != NULL)
+ d_free(pData->dynCache);
ENDfunc;
}
@@ -620,7 +621,7 @@ BEGINfreeInstance
CODESTARTfreeInstance
if(pData->bDynamicName) {
dynaFileFreeCache(pData);
- } else
+ } else if(pData->fd != -1)
close(pData->fd);
ENDfreeInstance
diff -up rsyslog-3.12.1/conf.c.orig rsyslog-3.12.1/conf.c
--- rsyslog-3.12.1/conf.c.orig 2008-03-11 11:13:00.000000000 +0100
+++ rsyslog-3.12.1/conf.c 2008-03-11 11:13:18.000000000 +0100
@@ -1024,6 +1024,7 @@ static rsRetVal cflineDoAction(uchar **p
/* loop through all modules and see if one picks up the line */
pMod = module.GetNxtType(NULL, eMOD_OUT);
while(pMod != NULL) {
+ pOMSR = NULL;
iRet = pMod->mod.om.parseSelectorAct(p, &pModData, &pOMSR);
dbgprintf("tried selector action for %s: %d\n", module.GetName(pMod), iRet);
if(iRet == RS_RET_OK || iRet == RS_RET_SUSPENDED) {

View File

@ -0,0 +1,54 @@
--- rsyslog-3.12.3/plugins/imklog/ksym.c.leak 2008-03-18 23:37:23.000000000 +0100
+++ rsyslog-3.12.3/plugins/imklog/ksym.c 2008-03-18 23:42:49.000000000 +0100
@@ -269,6 +269,12 @@
}
+extern void DeinitKsyms(void)
+{
+ FreeSymbols();
+}
+
+
/**************************************************************************
* Function: FindSymbolFile
*
--- rsyslog-3.12.3/plugins/imklog/imklog.h.leak 2008-03-18 23:36:57.000000000 +0100
+++ rsyslog-3.12.3/plugins/imklog/imklog.h 2008-03-18 23:41:03.000000000 +0100
@@ -33,7 +33,9 @@
/* prototypes */
extern int InitKsyms(char *);
+extern void DeinitKsyms(void);
extern int InitMsyms(void);
+extern void DeinitMsyms(void);
extern char * ExpandKadds(char *, char *);
extern void SetParanoiaLevel(int);
extern void vsyslog(int pri, const char *fmt, va_list ap);
--- rsyslog-3.12.3/plugins/imklog/imklog.c.leak 2008-03-18 23:37:50.000000000 +0100
+++ rsyslog-3.12.3/plugins/imklog/imklog.c 2008-03-18 23:42:22.000000000 +0100
@@ -642,6 +642,9 @@
/* cleanup here */
if(logsrc != none)
CloseLogSrc();
+
+ DeinitKsyms();
+ DeinitMsyms();
ENDafterRun
--- rsyslog-3.12.3/plugins/imklog/ksym_mod.c.leak 2008-03-18 23:37:34.000000000 +0100
+++ rsyslog-3.12.3/plugins/imklog/ksym_mod.c 2008-03-18 23:42:56.000000000 +0100
@@ -279,6 +279,12 @@
}
+extern void DeinitMsyms(void)
+{
+ FreeModules();
+}
+
+
/**************************************************************************
* Function: FreeModules
*

View File

@ -0,0 +1,11 @@
diff -up rsyslog-3.12.3/modules.c.objinfo rsyslog-3.12.3/modules.c
--- rsyslog-3.12.3/modules.c.objinfo 2008-03-18 18:21:48.000000000 +0100
+++ rsyslog-3.12.3/modules.c 2008-03-18 18:22:14.000000000 +0100
@@ -700,7 +700,6 @@ Release(char *srcFile, modInfo_t **ppThi
/* we have a zero refcount, so we must unload the module */
dbgprintf("module '%s' has zero reference count, unloading...\n", pThis->pszName);
modUnlinkAndDestroy(&pThis);
- *ppThis = NULL; /* nobody can access it any longer! */
}
RETiRet;

View File

@ -2,8 +2,8 @@
Summary: Enhanced system logging and kernel message trapping daemons
Name: rsyslog
Version: 3.12.1
Release: 2%{?dist}
Version: 3.12.3
Release: 1%{?dist}
License: GPLv3+
Group: System Environment/Daemons
URL: http://www.rsyslog.com/
@ -12,7 +12,8 @@ Source1: rsyslog.init
Source2: rsyslog.conf
Source3: rsyslog.sysconfig
Patch1: rsyslog-3.11.4-undef.patch
Patch2: rsyslog-3.12.1-omfile.patch
Patch2: rsyslog-3.12.3-imklogleak.patch
Patch3: rsyslog-3.12.3-objinfo.patch
BuildRequires: zlib-devel
BuildRequires: autoconf automake
Requires: logrotate >= 3.5.2
@ -68,10 +69,16 @@ authentication.
%prep
%setup -q
%patch1 -p1 -b .undef
%patch2 -p1 -b .omfile
%patch2 -p1 -b .imklogleak
%patch3 -p1 -b .objinfo
%build
%configure --sbindir=%{sbindir} --disable-static --enable-mysql --enable-pgsql --enable-gssapi-krb5
%configure --sbindir=%{sbindir} \
--disable-static \
--enable-mysql \
--enable-pgsql \
--enable-gssapi-krb5 \
--enable-imfile
make %{?_smp_mflags}
%install
@ -123,10 +130,14 @@ fi
%{_libdir}/rsyslog/imklog.so
%{_libdir}/rsyslog/immark.so
%{_libdir}/rsyslog/imtcp.so
%{_libdir}/rsyslog/tcpsrv.so
%{_libdir}/rsyslog/imudp.so
%{_libdir}/rsyslog/imuxsock.so
%{_libdir}/rsyslog/imfile.so
%{_libdir}/rsyslog/omtesting.so
%{_libdir}/rsyslog/lmnet.so
%{_libdir}/rsyslog/lmregexp.so
%{_libdir}/rsyslog/lmtcpclt.so
%{_libdir}/rsyslog/lmtcpsrv.so
%config %{_sysconfdir}/rsyslog.conf
%config %{_sysconfdir}/sysconfig/rsyslog
%config(noreplace) %{_sysconfdir}/logrotate.d/syslog
@ -147,11 +158,15 @@ fi
%files gssapi
%defattr(-,root,root)
%{_libdir}/rsyslog/gssutil.so
%{_libdir}/rsyslog/lmgssutil.so
%{_libdir}/rsyslog/imgssapi.so
%{_libdir}/rsyslog/omgssapi.so
%changelog
* Wed Mar 19 2008 Peter Vrabec <pvrabec@redhat.com> 3.12.3-1
- upgrade
- fix some significant memory leaks
* Tue Mar 11 2008 Peter Vrabec <pvrabec@redhat.com> 3.12.1-2
- init script fixes (#436854)
- fix config file parsing (#436722)

View File

@ -1,4 +1,4 @@
12c743b21a0984467bc4c05b6ee887e2 rsyslog-3.12.1.tar.gz
a4df17b87cae167db488648726656068 rsyslog-3.12.3.tar.gz
9730674162e08bcc88503a19e21ac2d4 rsyslog.conf
04f3868aa518d33809f5943d7bc2fc0b rsyslog.sysconfig
8121efe30193878a7315fe12c25cc292 rsyslog.init
04f3868aa518d33809f5943d7bc2fc0b rsyslog.sysconfig