From df7b597db01a91d5b49c4a9f165893196b2a9a6e Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Mon, 5 Sep 2022 10:20:06 +0800 Subject: [PATCH] fix: invalid write --- source/dnode/vnode/src/tsdb/tsdbReaderWriter.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c index e29920f626..dec7d267a8 100644 --- a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c @@ -988,6 +988,10 @@ static int32_t tsdbReadBlockDataImpl(SDataFReader *pReader, SBlockInfo *pBlkInfo if (hdr.szBlkCol > 0) { int64_t offset = pBlkInfo->offset + pBlkInfo->szKey; + + code = tRealloc(&pReader->aBuf[0], hdr.szBlkCol); + if (code) goto _err; + code = tsdbReadFile(pFD, offset, pReader->aBuf[0], hdr.szBlkCol); if (code) goto _err; } @@ -1029,6 +1033,9 @@ static int32_t tsdbReadBlockDataImpl(SDataFReader *pReader, SBlockInfo *pBlkInfo int64_t offset = pBlkInfo->offset + pBlkInfo->szKey + hdr.szBlkCol + pBlockCol->offset; int32_t size = pBlockCol->szBitmap + pBlockCol->szOffset + pBlockCol->szValue; + code = tRealloc(&pReader->aBuf[1], size); + if (code) goto _err; + code = tsdbReadFile(pFD, offset, pReader->aBuf[1], size); if (code) goto _err;