From 32b4642dac9ddb3a94b6b99feb72ebd1783965d5 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Fri, 5 May 2023 00:57:43 +0800 Subject: [PATCH] fix(tmq): fix invalid free. --- source/dnode/vnode/src/tq/tqRead.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/dnode/vnode/src/tq/tqRead.c b/source/dnode/vnode/src/tq/tqRead.c index 8622216b28..7ead634f8b 100644 --- a/source/dnode/vnode/src/tq/tqRead.c +++ b/source/dnode/vnode/src/tq/tqRead.c @@ -341,7 +341,15 @@ int32_t tqNextBlockInWal(STqReader* pReader) { SDecoder decoder = {0}; tDecoderInit(&decoder, pBody, bodyLen); - taosArrayDestroy(pReader->submit.aSubmitTbData); + + { + int32_t nSubmitTbData = taosArrayGetSize(pReader->submit.aSubmitTbData); + for (int32_t i = 0; i < nSubmitTbData; i++) { + SSubmitTbData* pData = taosArrayGet(pReader->submit.aSubmitTbData, i); + pData->aRowP = taosArrayDestroy(pData->aRowP); + } + pReader->submit.aSubmitTbData = taosArrayDestroy(pReader->submit.aSubmitTbData); + } if (tDecodeSubmitReq(&decoder, &pReader->submit) < 0) { tDecoderClear(&decoder);