From f0fdbaa3f3dbfcb588ce1303fe6505f6528be9d8 Mon Sep 17 00:00:00 2001 From: Minglei Jin Date: Fri, 25 Aug 2023 16:22:45 +0800 Subject: [PATCH] fix(tsdb/close): fix uaf with file closing --- source/dnode/vnode/src/tsdb/tsdbReaderWriter.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c index cd0bd47d47..dcf3770cbd 100644 --- a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c @@ -35,12 +35,12 @@ static int32_t tsdbOpenFileImpl(STsdbFD *pFD) { if (pFD->pFD == NULL) { code = TAOS_SYSTEM_ERROR(ENOENT); - taosMemoryFree(pFD); + // taosMemoryFree(pFD); goto _exit; } } else { code = TAOS_SYSTEM_ERROR(errsv); - taosMemoryFree(pFD); + // taosMemoryFree(pFD); goto _exit; } } @@ -48,8 +48,8 @@ static int32_t tsdbOpenFileImpl(STsdbFD *pFD) { pFD->pBuf = taosMemoryCalloc(1, szPage); if (pFD->pBuf == NULL) { code = TSDB_CODE_OUT_OF_MEMORY; - taosCloseFile(&pFD->pFD); - taosMemoryFree(pFD); + // taosCloseFile(&pFD->pFD); + // taosMemoryFree(pFD); goto _exit; } @@ -57,9 +57,9 @@ static int32_t tsdbOpenFileImpl(STsdbFD *pFD) { if (flag != TD_FILE_READ) { if (taosStatFile(path, &pFD->szFile, NULL, NULL) < 0) { code = TAOS_SYSTEM_ERROR(errno); - taosMemoryFree(pFD->pBuf); - taosCloseFile(&pFD->pFD); - taosMemoryFree(pFD); + // taosMemoryFree(pFD->pBuf); + // taosCloseFile(&pFD->pFD); + // taosMemoryFree(pFD); goto _exit; }