From 94b9599f958dcb9c1d34eaab692eaa8f96a07c7b Mon Sep 17 00:00:00 2001 From: Minglei Jin Date: Tue, 1 Aug 2023 16:39:14 +0800 Subject: [PATCH] fix null pointer dereference --- source/dnode/vnode/src/tsdb/tsdbCache.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbCache.c b/source/dnode/vnode/src/tsdb/tsdbCache.c index adcd47029c..401255a660 100644 --- a/source/dnode/vnode/src/tsdb/tsdbCache.c +++ b/source/dnode/vnode/src/tsdb/tsdbCache.c @@ -1598,21 +1598,21 @@ static void freeTableInfoFunc(void *param) { } static STableLoadInfo *getTableLoadInfo(SCacheRowsReader *pReader, uint64_t uid) { - STableLoadInfo *pInfo = NULL; - if (!pReader->pTableMap) { pReader->pTableMap = tSimpleHashInit(pReader->numOfTables, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT)); tSimpleHashSetFreeFp(pReader->pTableMap, freeTableInfoFunc); } - pInfo = *(STableLoadInfo **)tSimpleHashGet(pReader->pTableMap, &uid, sizeof(uid)); - if (!pInfo) { - pInfo = taosMemoryCalloc(1, sizeof(STableLoadInfo)); + STableLoadInfo **ppInfo = tSimpleHashGet(pReader->pTableMap, &uid, sizeof(uid)); + if (!ppInfo) { + STableLoadInfo *pInfo = taosMemoryCalloc(1, sizeof(STableLoadInfo)); tSimpleHashPut(pReader->pTableMap, &uid, sizeof(uint64_t), &pInfo, POINTER_BYTES); + + ppInfo = &pInfo; } - return pInfo; + return *ppInfo; } static uint64_t *getUidList(SCacheRowsReader *pReader) { -- GitLab