From c017762095cbab80b0ab7793f3ff15086654f1b5 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Mon, 30 Mar 2020 13:48:27 +0800 Subject: [PATCH] [TD-71] remove mistake pSupporter free and add *code value. --- src/system/detail/src/vnodeRead.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/system/detail/src/vnodeRead.c b/src/system/detail/src/vnodeRead.c index ba23389f79..90cd3bb7aa 100644 --- a/src/system/detail/src/vnodeRead.c +++ b/src/system/detail/src/vnodeRead.c @@ -649,17 +649,22 @@ void *vnodeQueryOnSingleTable(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyE } STableQuerySupportObj *pSupporter = (STableQuerySupportObj *)calloc(1, sizeof(STableQuerySupportObj)); + if (pSupporter == NULL) { + *code = TSDB_CODE_SERV_OUT_OF_MEMORY; + goto _error; + } pSupporter->numOfMeters = 1; pSupporter->pMetersHashTable = taosInitHashTable(pSupporter->numOfMeters, taosIntHash_32, false); if (pSupporter->pMetersHashTable == NULL) { - free(pSupporter); + tfree(pSupporter); + *code = TSDB_CODE_SERV_OUT_OF_MEMORY; goto _error; } if (taosAddToHashTable(pSupporter->pMetersHashTable, (const char*) &pMetersObj[0]->sid, sizeof(pMeterObj[0].sid), (char *)&pMetersObj[0], POINTER_BYTES) != 0) { - taosCleanUpHashTable(pSupporter->pMetersHashTable); - free(pSupporter); + tfree(pSupporter); + *code = TSDB_CODE_APP_ERROR; goto _error; } @@ -679,9 +684,6 @@ void *vnodeQueryOnSingleTable(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyE } if (((*code) = vnodeQueryTablePrepare(pQInfo, pQInfo->pObj, pSupporter, pTSBuf)) != TSDB_CODE_SUCCESS) { - taosDeleteFromHashTable(pSupporter->pMetersHashTable, (const char*) &pMetersObj[0]->sid, sizeof(pMetersObj[0]->sid)); - taosCleanUpHashTable(pSupporter->pMetersHashTable); - free(pSupporter); goto _error; } -- GitLab