From 2763c81f4546fa26ae226f60ae8f7c98582df654 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Wed, 11 Dec 2024 21:15:58 +0800 Subject: [PATCH] fix: memory problem --- source/dnode/vnode/src/meta/metaEntry.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/dnode/vnode/src/meta/metaEntry.c b/source/dnode/vnode/src/meta/metaEntry.c index 48bf77bb9c..4ddd7c991d 100644 --- a/source/dnode/vnode/src/meta/metaEntry.c +++ b/source/dnode/vnode/src/meta/metaEntry.c @@ -66,13 +66,15 @@ static FORCE_INLINE int32_t metatInitDefaultSColCmprWrapper(SDecoder *pDecoder, } static int32_t metaCloneColCmpr(const SColCmprWrapper *pSrc, SColCmprWrapper *pDst) { - pDst->nCols = pSrc->nCols; - pDst->version = pSrc->version; - pDst->pColCmpr = (SColCmpr *)taosMemoryCalloc(pSrc->nCols, sizeof(SColCmpr)); - if (NULL == pDst->pColCmpr) { - return terrno; + if (pSrc->nCols > 0) { + pDst->nCols = pSrc->nCols; + pDst->version = pSrc->version; + pDst->pColCmpr = (SColCmpr *)taosMemoryCalloc(pSrc->nCols, sizeof(SColCmpr)); + if (NULL == pDst->pColCmpr) { + return terrno; + } + memcpy(pDst->pColCmpr, pSrc->pColCmpr, pSrc->nCols * sizeof(SColCmpr)); } - memcpy(pDst->pColCmpr, pSrc->pColCmpr, pSrc->nCols * sizeof(SColCmpr)); return 0; }