fix(util): fix the new size remaining bug.
This commit is contained in:
parent
6bc12c8728
commit
b744eabce0
|
@ -92,9 +92,11 @@ int32_t taosArrayEnsureCap(SArray* pArray, size_t newCap) {
|
||||||
if (newCap * pArray->elemSize > BOUNDARY_SIZE) {
|
if (newCap * pArray->elemSize > BOUNDARY_SIZE) {
|
||||||
factor = BOUNDARY_SMALL_FACTOR;
|
factor = BOUNDARY_SMALL_FACTOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t tsize = (pArray->capacity * factor);
|
size_t tsize = (pArray->capacity * factor);
|
||||||
while (newCap > tsize) {
|
while (newCap > tsize) {
|
||||||
tsize = (tsize * factor);
|
size_t newSize = (tsize * factor);
|
||||||
|
tsize = (newSize == tsize) ? (tsize + 2) : newSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
pArray->pData = taosMemoryRealloc(pArray->pData, tsize * pArray->elemSize);
|
pArray->pData = taosMemoryRealloc(pArray->pData, tsize * pArray->elemSize);
|
||||||
|
|
Loading…
Reference in New Issue