From 14a2360f5e4d089802ec224181002111cfefdaa1 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Tue, 13 Aug 2024 15:22:06 +0800 Subject: [PATCH] fix(tsdb): check null ptr when un-referencing snapshot. --- source/dnode/vnode/src/tsdb/tsdbRead2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbRead2.c b/source/dnode/vnode/src/tsdb/tsdbRead2.c index 880e73c5c0..9356973958 100644 --- a/source/dnode/vnode/src/tsdb/tsdbRead2.c +++ b/source/dnode/vnode/src/tsdb/tsdbRead2.c @@ -5827,9 +5827,12 @@ int32_t tsdbTakeReadSnap2(STsdbReader* pReader, _query_reseek_func_t reseek, STs pSnap->pIMem = pTsdb->imem; pSnap->pINode = taosMemoryMalloc(sizeof(*pSnap->pINode)); if (pSnap->pINode == NULL) { - tsdbUnrefMemTable(pTsdb->mem, pSnap->pNode, true); // unref the previous refed mem code = terrno; + if (pTsdb->mem && pSnap->pNode) { + tsdbUnrefMemTable(pTsdb->mem, pSnap->pNode, true); // unref the previous refed mem + } + (void) taosThreadMutexUnlock(&pTsdb->mutex); goto _exit; }