Merge pull request #5746 from taosdata/hotfix/TD-3719
[TD-3719]mem overflow issue
This commit is contained in:
commit
deb3ad7e3a
|
@ -287,6 +287,10 @@ static void lruListMoveToFront(SList *pList, SPageInfo* pi) {
|
||||||
tdListPrependNode(pList, pi->pn);
|
tdListPrependNode(pList, pi->pn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static FORCE_INLINE size_t getAllocPageSize(int32_t pageSize) {
|
||||||
|
return pageSize + POINTER_BYTES + 2 + sizeof(tFilePage);
|
||||||
|
}
|
||||||
|
|
||||||
tFilePage* getNewDataBuf(SDiskbasedResultBuf* pResultBuf, int32_t groupId, int32_t* pageId) {
|
tFilePage* getNewDataBuf(SDiskbasedResultBuf* pResultBuf, int32_t groupId, int32_t* pageId) {
|
||||||
pResultBuf->statis.getPages += 1;
|
pResultBuf->statis.getPages += 1;
|
||||||
|
|
||||||
|
@ -311,7 +315,7 @@ tFilePage* getNewDataBuf(SDiskbasedResultBuf* pResultBuf, int32_t groupId, int32
|
||||||
|
|
||||||
// allocate buf
|
// allocate buf
|
||||||
if (availablePage == NULL) {
|
if (availablePage == NULL) {
|
||||||
pi->pData = calloc(1, pResultBuf->pageSize + POINTER_BYTES + 2); // add extract bytes in case of zipped buffer increased.
|
pi->pData = calloc(1, getAllocPageSize(pResultBuf->pageSize)); // add extract bytes in case of zipped buffer increased.
|
||||||
} else {
|
} else {
|
||||||
pi->pData = availablePage;
|
pi->pData = availablePage;
|
||||||
}
|
}
|
||||||
|
@ -355,7 +359,7 @@ tFilePage* getResBufPage(SDiskbasedResultBuf* pResultBuf, int32_t id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (availablePage == NULL) {
|
if (availablePage == NULL) {
|
||||||
(*pi)->pData = calloc(1, pResultBuf->pageSize + POINTER_BYTES);
|
(*pi)->pData = calloc(1, getAllocPageSize(pResultBuf->pageSize));
|
||||||
} else {
|
} else {
|
||||||
(*pi)->pData = availablePage;
|
(*pi)->pData = availablePage;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue