From 29db4d67f84fd55e52ef31e1d7dab67a6cac360a Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Sat, 12 Nov 2022 15:39:19 +0800 Subject: [PATCH] fix: null pointer passed as argument , which is declared to never be null --- source/common/src/tdatablock.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c index 536cbed33e..e8d5989e4d 100644 --- a/source/common/src/tdatablock.c +++ b/source/common/src/tdatablock.c @@ -334,10 +334,12 @@ int32_t colDataAssign(SColumnInfoData* pColumnInfoData, const SColumnInfoData* p } pColumnInfoData->varmeta.length = pSource->varmeta.length; - memcpy(pColumnInfoData->pData, pSource->pData, pSource->varmeta.length); + if (pColumnInfoData->pData != NULL && pSource->pData != NULL) { + memcpy(pColumnInfoData->pData, pSource->pData, pSource->varmeta.length); + } } else { memcpy(pColumnInfoData->nullbitmap, pSource->nullbitmap, BitmapLen(numOfRows)); - if (pSource->pData) { + if (pSource->pData != NULL) { memcpy(pColumnInfoData->pData, pSource->pData, pSource->info.bytes * numOfRows); } } @@ -2261,7 +2263,9 @@ int32_t blockEncode(const SSDataBlock* pBlock, char* data, int32_t numOfCols) { colSizes[col] = colDataGetLength(pColRes, numOfRows); dataLen += colSizes[col]; - memmove(data, pColRes->pData, colSizes[col]); + if (pColRes->pData != NULL) { + memmove(data, pColRes->pData, colSizes[col]); + } data += colSizes[col]; colSizes[col] = htonl(colSizes[col]);