Merge pull request #18441 from taosdata/fix/TD-20645
fix: [ASAN] fix nullpointer issue in tdatablock.c
This commit is contained in:
commit
0905f83cd6
|
@ -509,8 +509,12 @@ SSDataBlock* blockDataExtractBlock(SSDataBlock* pBlock, int32_t startIndex, int3
|
||||||
isNull = colDataIsNull(pColData, pBlock->info.rows, j, pBlock->pBlockAgg[i]);
|
isNull = colDataIsNull(pColData, pBlock->info.rows, j, pBlock->pBlockAgg[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
char* p = colDataGetData(pColData, j);
|
if (isNull) {
|
||||||
colDataAppend(pDstCol, j - startIndex, p, isNull);
|
colDataAppendNULL(pDstCol, j - startIndex);
|
||||||
|
} else {
|
||||||
|
char* p = colDataGetData(pColData, j);
|
||||||
|
colDataAppend(pDstCol, j - startIndex, p, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -807,7 +811,9 @@ static int32_t blockDataAssign(SColumnInfoData* pCols, const SSDataBlock* pDataB
|
||||||
SColumnInfoData* pSrc = taosArrayGet(pDataBlock->pDataBlock, i);
|
SColumnInfoData* pSrc = taosArrayGet(pDataBlock->pDataBlock, i);
|
||||||
|
|
||||||
if (IS_VAR_DATA_TYPE(pSrc->info.type)) {
|
if (IS_VAR_DATA_TYPE(pSrc->info.type)) {
|
||||||
memcpy(pDst->pData, pSrc->pData, pSrc->varmeta.length);
|
if (pSrc->varmeta.length != 0) {
|
||||||
|
memcpy(pDst->pData, pSrc->pData, pSrc->varmeta.length);
|
||||||
|
}
|
||||||
pDst->varmeta.length = pSrc->varmeta.length;
|
pDst->varmeta.length = pSrc->varmeta.length;
|
||||||
|
|
||||||
for (int32_t j = 0; j < pDataBlock->info.rows; ++j) {
|
for (int32_t j = 0; j < pDataBlock->info.rows; ++j) {
|
||||||
|
|
|
@ -59,4 +59,4 @@ else
|
||||||
fi
|
fi
|
||||||
cat ${LOG_DIR}/*.asan
|
cat ${LOG_DIR}/*.asan
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue