From 7ae3eebe06c480779e602c6e520b48686dd4d568 Mon Sep 17 00:00:00 2001 From: hzcheng Date: Fri, 6 Mar 2020 14:22:52 +0000 Subject: [PATCH] Fix fetch table segmentation fault --- src/vnode/tsdb/src/tsdbMeta.c | 7 +++++-- src/vnode/tsdb/tests/tsdbTests.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/vnode/tsdb/src/tsdbMeta.c b/src/vnode/tsdb/src/tsdbMeta.c index 67bbcc5b1d..04b5224264 100644 --- a/src/vnode/tsdb/src/tsdbMeta.c +++ b/src/vnode/tsdb/src/tsdbMeta.c @@ -206,8 +206,11 @@ static int32_t tsdbCheckTableCfg(STableCfg *pCfg) { } STable *tsdbGetTableByUid(STsdbMeta *pMeta, int64_t uid) { - STable *pTable = *(STable **)taosGetDataFromHashTable(pMeta->tableMap, (char *)(&uid), sizeof(uid)); - return pTable; + void *ptr = taosGetDataFromHashTable(pMeta->tableMap, (char *)(&uid), sizeof(uid)); + + if (ptr == NULL) return NULL; + + return *(STable **)ptr; } static int tsdbAddTableToMeta(STsdbMeta *pMeta, STable *pTable) { diff --git a/src/vnode/tsdb/tests/tsdbTests.cpp b/src/vnode/tsdb/tests/tsdbTests.cpp index 6c61c688f6..c6f023c29a 100644 --- a/src/vnode/tsdb/tests/tsdbTests.cpp +++ b/src/vnode/tsdb/tests/tsdbTests.cpp @@ -4,7 +4,7 @@ #include "tsdb.h" #include "tsdbMeta.h" -TEST(TsdbTest, DISABLED_createTable) { +TEST(TsdbTest, createTable) { STsdbMeta *pMeta = tsdbCreateMeta(100); ASSERT_NE(pMeta, nullptr); -- GitLab