Ai
1 Star 0 Fork 41

yueyuankun/rsyslog

forked from src-openEuler/rsyslog 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
backport-Fix-memory-leak-when-free-action-worker-data-table.patch 1.45 KB
一键复制 编辑 原始数据 按行查看 历史
周文培 提交于 2022-08-04 15:45 +08:00 . backport patches from upstream and enable check
From 63e5d6845aedd649eee1f807e85784a066163ad0 Mon Sep 17 00:00:00 2001
From: seuzw930 <76191785+seuzw930@users.noreply.github.com>
Date: Mon, 18 Jul 2022 15:43:17 +0800
Subject: [PATCH] Fix memory leak when free action worker data table
During free action worker data table when action destruct, worker instance in worker data table were not null. It resulted in memory leak and this patch fixes this behaviour.
Conflict:NA
Reference:https://github.com/rsyslog/rsyslog/commit/d59feba46b8d8c2c3c5c25c6fc6e99f93bdae8b9
---
action.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/action.c b/action.c
index e0d05ed..4cea500 100644
--- a/action.c
+++ b/action.c
@@ -326,6 +326,20 @@ actionResetQueueParams(void)
RETiRet;
}
+/* free action worker data table
+*/
+static void freeWrkrDataTable(action_t * const pThis)
+{
+ int freeSpot;
+ for(freeSpot = 0; freeSpot < pThis->wrkrDataTableSize; ++freeSpot) {
+ if(pThis->wrkrDataTable[freeSpot] != NULL) {
+ pThis->pMod->mod.om.freeWrkrInstance(pThis->wrkrDataTable[freeSpot]);
+ pThis->wrkrDataTable[freeSpot] = NULL;
+ }
+ }
+ free(pThis->wrkrDataTable);
+ return;
+}
/* destructs an action descriptor object
* rgerhards, 2007-08-01
@@ -363,7 +377,7 @@ rsRetVal actionDestruct(action_t * const pThis)
free(pThis->pszName);
free(pThis->ppTpl);
free(pThis->peParamPassing);
- free(pThis->wrkrDataTable);
+ freeWrkrDataTable(pThis);
finalize_it:
free(pThis);
--
2.33.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yue-yuankun/rsyslog.git
git@gitee.com:yue-yuankun/rsyslog.git
yue-yuankun
rsyslog
rsyslog
master

搜索帮助