fix(query): fix errors found by asan.
This commit is contained in:
parent
70b937cfac
commit
cf56c38e7a
|
@ -277,7 +277,12 @@ int32_t colDataMergeCol(SColumnInfoData* pColumnInfoData, int32_t numOfRow1, int
|
||||||
pColumnInfoData->varmeta.allocLen = len + oldLen;
|
pColumnInfoData->varmeta.allocLen = len + oldLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(pColumnInfoData->pData + oldLen, pSource->pData, len);
|
if (pSource->pData != NULL) {
|
||||||
|
memcpy(pColumnInfoData->pData + oldLen, pSource->pData, len);
|
||||||
|
} else {
|
||||||
|
ASSERT(len == 0);
|
||||||
|
}
|
||||||
|
|
||||||
pColumnInfoData->varmeta.length = len + oldLen;
|
pColumnInfoData->varmeta.length = len + oldLen;
|
||||||
} else {
|
} else {
|
||||||
if (finalNumOfRows > (*capacity)) {
|
if (finalNumOfRows > (*capacity)) {
|
||||||
|
|
|
@ -3219,7 +3219,7 @@ int32_t doMergeRowsInBuf(SIterInfo* pIter, uint64_t uid, int64_t ts, SArray* pDe
|
||||||
|
|
||||||
static int32_t doMergeRowsInFileBlockImpl(SBlockData* pBlockData, int32_t rowIndex, int64_t key, SRowMerger* pMerger,
|
static int32_t doMergeRowsInFileBlockImpl(SBlockData* pBlockData, int32_t rowIndex, int64_t key, SRowMerger* pMerger,
|
||||||
SVersionRange* pVerRange, int32_t step) {
|
SVersionRange* pVerRange, int32_t step) {
|
||||||
while (pBlockData->aTSKEY[rowIndex] == key && rowIndex < pBlockData->nRow && rowIndex >= 0) {
|
while (rowIndex < pBlockData->nRow && rowIndex >= 0 && pBlockData->aTSKEY[rowIndex] == key) {
|
||||||
if (pBlockData->aVersion[rowIndex] > pVerRange->maxVer || pBlockData->aVersion[rowIndex] < pVerRange->minVer) {
|
if (pBlockData->aVersion[rowIndex] > pVerRange->maxVer || pBlockData->aVersion[rowIndex] < pVerRange->minVer) {
|
||||||
rowIndex += step;
|
rowIndex += step;
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -189,7 +189,7 @@ int32_t tSimpleHashPut(SSHashObj *pHashObj, const void *key, size_t keyLen, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
while (pNode) {
|
while (pNode) {
|
||||||
if ((*(pHashObj->equalFp))(GET_SHASH_NODE_KEY(pNode, pNode->dataLen), key, keyLen) == 0) {
|
if ((keyLen == pNode->keyLen) && (*(pHashObj->equalFp))(GET_SHASH_NODE_KEY(pNode, pNode->dataLen), key, keyLen) == 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pNode = pNode->next;
|
pNode = pNode->next;
|
||||||
|
@ -213,10 +213,12 @@ int32_t tSimpleHashPut(SSHashObj *pHashObj, const void *key, size_t keyLen, cons
|
||||||
static FORCE_INLINE SHNode *doSearchInEntryList(SSHashObj *pHashObj, const void *key, size_t keyLen, int32_t index) {
|
static FORCE_INLINE SHNode *doSearchInEntryList(SSHashObj *pHashObj, const void *key, size_t keyLen, int32_t index) {
|
||||||
SHNode *pNode = pHashObj->hashList[index];
|
SHNode *pNode = pHashObj->hashList[index];
|
||||||
while (pNode) {
|
while (pNode) {
|
||||||
if ((*(pHashObj->equalFp))(GET_SHASH_NODE_KEY(pNode, pNode->dataLen), key, keyLen) == 0) {
|
const char* p = GET_SHASH_NODE_KEY(pNode, pNode->dataLen);
|
||||||
|
ASSERT(keyLen > 0);
|
||||||
|
|
||||||
|
if (pNode->keyLen == keyLen && ((*(pHashObj->equalFp))(p, key, keyLen) == 0)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
pNode = pNode->next;
|
pNode = pNode->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue