From 4f5dd57b65996758150b023f1a8633a969188e48 Mon Sep 17 00:00:00 2001 From: dmchen Date: Fri, 15 Dec 2023 02:43:55 +0000 Subject: [PATCH 1/2] fix/TD-27891 --- source/libs/audit/src/auditMain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/libs/audit/src/auditMain.c b/source/libs/audit/src/auditMain.c index 7616617ff0..01bb744ad4 100644 --- a/source/libs/audit/src/auditMain.c +++ b/source/libs/audit/src/auditMain.c @@ -24,6 +24,7 @@ #include "tglobal.h" #include "mnode.h" #include "audit.h" +#include "osMemory.h" SAudit tsAudit = {0}; char* tsAuditUri = "/audit"; @@ -38,7 +39,9 @@ int32_t auditInit(const SAuditCfg *pCfg) { void auditCleanup() { tsLogFp = NULL; - taosArrayDestroy(tsAudit.records); + taosThreadMutexLock(&tsAudit.lock); + taosArrayDestroyP(tsAudit.records, (FDelete)taosMemoryFree); + taosThreadMutexUnlock(&tsAudit.lock); tsAudit.records = NULL; taosThreadMutexDestroy(&tsAudit.lock); } From 98966a58aa579b950ff20266c41704fba6f700a9 Mon Sep 17 00:00:00 2001 From: dmchen Date: Fri, 15 Dec 2023 07:31:47 +0000 Subject: [PATCH 2/2] delete detail --- source/libs/audit/src/auditMain.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/libs/audit/src/auditMain.c b/source/libs/audit/src/auditMain.c index 01bb744ad4..19dc771c56 100644 --- a/source/libs/audit/src/auditMain.c +++ b/source/libs/audit/src/auditMain.c @@ -37,10 +37,17 @@ int32_t auditInit(const SAuditCfg *pCfg) { return 0; } +static FORCE_INLINE void auditDeleteRecord(SAuditRecord * record) { + if (record) { + taosMemoryFree(record->detail); + taosMemoryFree(record); + } +} + void auditCleanup() { tsLogFp = NULL; taosThreadMutexLock(&tsAudit.lock); - taosArrayDestroyP(tsAudit.records, (FDelete)taosMemoryFree); + taosArrayDestroyP(tsAudit.records, (FDelete)auditDeleteRecord); taosThreadMutexUnlock(&tsAudit.lock); tsAudit.records = NULL; taosThreadMutexDestroy(&tsAudit.lock);