From aa0ec9936405dd7884cdb79245741b5d89fb678f Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Thu, 21 May 2020 10:07:28 +0000 Subject: [PATCH] [TD-374] fix invalid read --- src/mnode/src/mgmtVgroup.c | 1 + src/vnode/src/vnodeMain.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/mnode/src/mgmtVgroup.c b/src/mnode/src/mgmtVgroup.c index fea8108698..4c85351148 100644 --- a/src/mnode/src/mgmtVgroup.c +++ b/src/mnode/src/mgmtVgroup.c @@ -130,6 +130,7 @@ static void mgmtVgroupUpdateIdPool(SVgObj *pVgroup) { taosUpdateIdPool(pVgroup->idPool, pDb->cfg.maxTables); int32_t size = sizeof(SChildTableObj *) * pDb->cfg.maxTables; pVgroup->tableList = (SChildTableObj **)realloc(pVgroup->tableList, size); + memset(pVgroup->tableList + oldTables, 0, (pDb->cfg.maxTables - oldTables) * sizeof(SChildTableObj **)); } } } diff --git a/src/vnode/src/vnodeMain.c b/src/vnode/src/vnodeMain.c index b29889f18c..7e960d5225 100644 --- a/src/vnode/src/vnodeMain.c +++ b/src/vnode/src/vnodeMain.c @@ -239,6 +239,10 @@ int32_t vnodeOpen(int32_t vnode, char *rootDir) { syncInfo.notifyFileSynced = vnodeNotifyFileSynced; pVnode->sync = syncStart(&syncInfo); +#ifndef _SYNC + pVnode->role = TAOS_SYNC_ROLE_MASTER; +#endif + // start continuous query if (pVnode->role == TAOS_SYNC_ROLE_MASTER) cqStart(pVnode->cq);