From 8a9746d2bf82577e478fdc7faf869c4aa7dd4ab9 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Mon, 13 Mar 2023 18:29:04 +0800 Subject: [PATCH] fix(tmq): fix the invalid read. --- source/client/src/clientTmq.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/client/src/clientTmq.c b/source/client/src/clientTmq.c index 3167a4c361..95722ae3e5 100644 --- a/source/client/src/clientTmq.c +++ b/source/client/src/clientTmq.c @@ -1843,11 +1843,11 @@ static void* tmqHandleAllRsp(tmq_t* tmq, int64_t timeout, bool pollIfReset) { atomic_store_32(&pVg->vgStatus, TMQ_VG_STATUS__IDLE); if (pollRspWrapper->taosxRsp.blockNum == 0) { - taosFreeQitem(pollRspWrapper); rspWrapper = NULL; tscDebug("consumer:0x%" PRIx64 " taosx empty block received, vgId:%d, reqId:0x%" PRIx64, tmq->consumerId, pVg->vgId, pollRspWrapper->reqId); pVg->vgIgnoreCnt = VG_POLL_IGNORE_TICK; + taosFreeQitem(pollRspWrapper); continue; } @@ -1859,12 +1859,13 @@ static void* tmqHandleAllRsp(tmq_t* tmq, int64_t timeout, bool pollIfReset) { pRsp = tmqBuildTaosxRspFromWrapper(pollRspWrapper); } - taosFreeQitem(pollRspWrapper); char buf[80]; tFormatOffset(buf, 80, &pVg->currentOffset); tscDebug("consumer:0x%" PRIx64 " process taosx poll rsp, vgId:%d, offset:%s, blocks:%d, reqId:0x%"PRIx64, tmq->consumerId, pVg->vgId, buf, pollRspWrapper->dataRsp.blockNum, pollRspWrapper->reqId); + + taosFreeQitem(pollRspWrapper); return pRsp; } else {