From 1ef8574429a3fa141462e592dba4dc94bc535167 Mon Sep 17 00:00:00 2001 From: Jinqing Kuang Date: Mon, 9 Sep 2024 17:23:34 +0800 Subject: [PATCH] fix(query)[TD-31971]. Fix potential wild pointer access in tsdbReaderClose Resolved an issue in tsdbReaderClose where wild pointer access could occur in cases of insufficient memory or other exceptions. --- source/dnode/vnode/src/tsdb/tsdbRead2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbRead2.c b/source/dnode/vnode/src/tsdb/tsdbRead2.c index bcf49a39a7..714096bb85 100644 --- a/source/dnode/vnode/src/tsdb/tsdbRead2.c +++ b/source/dnode/vnode/src/tsdb/tsdbRead2.c @@ -4580,6 +4580,8 @@ int32_t tsdbSetTableList2(STsdbReader* pReader, const void* pTableList, int32_t clearBlockScanInfo(*p); } + tSimpleHashClear(pReader->status.pTableMap); + if (size < num) { code = ensureBlockScanInfoBuf(&pReader->blockInfoBuf, num); if (code) { @@ -4596,7 +4598,6 @@ int32_t tsdbSetTableList2(STsdbReader* pReader, const void* pTableList, int32_t pReader->status.uidList.tableUidList = (uint64_t*)p1; } - tSimpleHashClear(pReader->status.pTableMap); STableUidList* pUidList = &pReader->status.uidList; pUidList->currentIndex = 0;