diff --git a/source/libs/stream/src/streamMeta.c b/source/libs/stream/src/streamMeta.c index 71ec7617e3..8067b66e9c 100644 --- a/source/libs/stream/src/streamMeta.c +++ b/source/libs/stream/src/streamMeta.c @@ -641,6 +641,7 @@ void metaHbToMnode(void* param, void* tmrId) { tEncodeSize(tEncodeStreamHbMsg, &hbMsg, tlen, code); if (code < 0) { + taosArrayDestroy(hbMsg.pTaskStatus); qError("vgId:%d encode stream hb msg failed, code:%s", pMeta->vgId, tstrerror(code)); return; } @@ -648,6 +649,8 @@ void metaHbToMnode(void* param, void* tmrId) { void* buf = rpcMallocCont(tlen); if (buf == NULL) { qError("vgId:%d encode stream hb msg failed, code:%s", pMeta->vgId, tstrerror(TSDB_CODE_OUT_OF_MEMORY)); + + taosArrayDestroy(hbMsg.pTaskStatus); return; } @@ -656,6 +659,8 @@ void metaHbToMnode(void* param, void* tmrId) { if ((code = tEncodeStreamHbMsg(&encoder, &hbMsg)) < 0) { rpcFreeCont(buf); qError("vgId:%d encode stream hb msg failed, code:%s", pMeta->vgId, tstrerror(code)); + + taosArrayDestroy(hbMsg.pTaskStatus); return; } tEncoderClear(&encoder);