fix: address sanitizer error
This commit is contained in:
parent
cbbd09b85c
commit
81c796953e
|
@ -573,8 +573,13 @@ void extractQualifiedTupleByFilterResult(SSDataBlock* pBlock, const SColumnInfoD
|
|||
if (colDataIsNull_var(pDst, j)) {
|
||||
colDataSetNull_var(pDst, numOfRows);
|
||||
} else {
|
||||
// fix address sanitizer error. p1 may point to memory that will change during realloc of colDataSetVal, first copy it to p2
|
||||
char* p1 = colDataGetVarData(pDst, j);
|
||||
colDataSetVal(pDst, numOfRows, p1, false);
|
||||
int32_t len = varDataTLen(p1);
|
||||
char* p2 = taosMemoryMalloc(len);
|
||||
varDataCopy(p2, p1);
|
||||
colDataSetVal(pDst, numOfRows, p2, false);
|
||||
taosMemoryFree(p2);
|
||||
}
|
||||
numOfRows += 1;
|
||||
j += 1;
|
||||
|
|
|
@ -1788,6 +1788,7 @@ void vectorIsNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam *pOut,
|
|||
++pOut->numOfQualified;
|
||||
}
|
||||
colDataSetInt8(pOut->columnData, i, &v);
|
||||
colDataClearNull_f(pOut->columnData->nullbitmap, i);
|
||||
}
|
||||
pOut->numOfRows = pLeft->numOfRows;
|
||||
}
|
||||
|
@ -1799,6 +1800,7 @@ void vectorNotNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam *pOut
|
|||
++pOut->numOfQualified;
|
||||
}
|
||||
colDataSetInt8(pOut->columnData, i, &v);
|
||||
colDataClearNull_f(pOut->columnData->nullbitmap, i);
|
||||
}
|
||||
pOut->numOfRows = pLeft->numOfRows;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue