diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 0e0f604643dca4f94a3a52f7206d61bdb1759da6..11b51f97bd4b6b0278d6a7825a15bfe80f60649a 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -4192,9 +4192,19 @@ static void tscSubqueryCompleteCallback(void* param, TAOS_RES* tres, int code) { int32_t doInitSubState(SSqlObj* pSql, int32_t numOfSubqueries) { //bug fix. Above doInitSubState level, the loop invocation with the same SSqlObj will be fail. - //assert(pSql->subState.numOfSub == 0 && pSql->pSubs == NULL && pSql->subState.states == NULL); + //assert(pSql->subState.numOfSub == 0 && pSql->pSubs == NULL && pSql->subState.states == NULL); + if(pSql->pSubs) { + free(pSql->pSubs); + pSql->pSubs = NULL; + } + + if(pSql->subState.states) { + free(pSql->subState.states); + pSql->subState.states = NULL; + } + pSql->subState.numOfSub = numOfSubqueries; - + pSql->pSubs = calloc(pSql->subState.numOfSub, POINTER_BYTES); pSql->subState.states = calloc(pSql->subState.numOfSub, sizeof(int8_t));