diff --git a/src/system/detail/src/vnodeRead.c b/src/system/detail/src/vnodeRead.c index d7b63119c68d2ad675e1ed54e13747dfdd4f96b5..7e25bfaba478071fa826028d53d232edb6bd29f1 100644 --- a/src/system/detail/src/vnodeRead.c +++ b/src/system/detail/src/vnodeRead.c @@ -649,18 +649,28 @@ 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); - taosAddToHashTable(pSupporter->pMetersHashTable, (const char*) &pMetersObj[0]->sid, sizeof(pMeterObj[0].sid), - (char *)&pMetersObj[0], POINTER_BYTES); - pSupporter->pSidSet = NULL; pSupporter->subgroupIdx = -1; pSupporter->pMeterSidExtInfo = NULL; pQInfo->pTableQuerySupporter = pSupporter; + pSupporter->pMetersHashTable = taosInitHashTable(pSupporter->numOfMeters, taosIntHash_32, false); + if (pSupporter->pMetersHashTable == NULL) { + *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) { + *code = TSDB_CODE_APP_ERROR; + goto _error; + } + STSBuf *pTSBuf = NULL; if (pQueryMsg->tsLen > 0) { // open new file to save the result