From 2028db36235b7d76a7ce448d29e448070f3bdb25 Mon Sep 17 00:00:00 2001 From: kailixu Date: Thu, 14 Nov 2024 10:00:07 +0800 Subject: [PATCH] enh: avoid invalid access of log file handle --- source/util/src/tlog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index f70b145dbc..a0bf455cda 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -374,7 +374,7 @@ static OldFileKeeper *taosOpenNewFile() { } TdFilePtr pOldFile = tsLogObj.logHandle->pFile; - tsLogObj.logHandle->pFile = pFile; + atomic_store_ptr(&tsLogObj.logHandle->pFile, pFile); tsLogObj.lines = 0; tsLogObj.openInProgress = 0; OldFileKeeper *oldFileKeeper = taosMemoryMalloc(sizeof(OldFileKeeper)); @@ -666,7 +666,7 @@ static inline void taosPrintLogImp(ELogLevel level, int32_t dflag, const char *b if (tsAsyncLog) { TAOS_UNUSED(taosPushLogBuffer(tsLogObj.logHandle, buffer, len)); } else { - TAOS_UNUSED(taosWriteFile(tsLogObj.logHandle->pFile, buffer, len)); + TAOS_UNUSED(taosWriteFile(atomic_load_ptr(tsLogObj.logHandle->pFile), buffer, len)); } if (tsNumOfLogLines > 0) {