From 706b441e703ef906cb1f00f9648d1690114ce97a Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Thu, 11 Mar 2021 22:58:10 +0800 Subject: [PATCH] [td-2895] fix bug found in regression test. --- src/query/src/qExecutor.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index e181b39967..45cbe6b1b7 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -202,6 +202,8 @@ static void doSetTableGroupOutputBuf(SQueryRuntimeEnv* pRuntimeEnv, SResultRowIn // setup the output buffer for each operator static SSDataBlock* createOutputBuf(SExprInfo* pExpr, int32_t numOfOutput, int32_t numOfRows) { + const static int32_t minSize = 8; + SSDataBlock *res = calloc(1, sizeof(SSDataBlock)); res->info.numOfCols = numOfOutput; @@ -211,7 +213,8 @@ static SSDataBlock* createOutputBuf(SExprInfo* pExpr, int32_t numOfOutput, int32 idata.info.type = pExpr[i].type; idata.info.bytes = pExpr[i].bytes; idata.info.colId = pExpr[i].base.resColId; - idata.pData = calloc(numOfRows, idata.info.bytes); + + idata.pData = calloc(1, MAX(idata.info.bytes * numOfRows, minSize)); // at least to hold a pointer on x64 platform taosArrayPush(res->pDataBlock, &idata); } -- GitLab