fix:memory leak
This commit is contained in:
parent
86a4bfe28d
commit
5555371fbc
|
@ -85,6 +85,7 @@ int32_t tqOffsetSnapRead(STqOffsetReader* pReader, uint8_t** ppData) {
|
||||||
*ppData = (uint8_t*)buf;
|
*ppData = (uint8_t*)buf;
|
||||||
|
|
||||||
pReader->readEnd = 1;
|
pReader->readEnd = 1;
|
||||||
|
taosCloseFile(&pFile);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -905,6 +905,7 @@ int32_t streamBackendTriggerChkp(void* arg, char* dst) {
|
||||||
}
|
}
|
||||||
|
|
||||||
_ERROR:
|
_ERROR:
|
||||||
|
taosMemoryFree(ppCf);
|
||||||
taosReleaseRef(streamBackendId, backendRid);
|
taosReleaseRef(streamBackendId, backendRid);
|
||||||
taosArrayDestroy(refs);
|
taosArrayDestroy(refs);
|
||||||
return code;
|
return code;
|
||||||
|
|
|
@ -341,11 +341,15 @@ int32_t streamSnapRead(SStreamSnapReader* pReader, uint8_t** ppData, int64_t* si
|
||||||
qDebug("%s start to read file %s, current offset:%" PRId64 ", size:%" PRId64 ", file no.%d", STREAM_STATE_TRANSFER,
|
qDebug("%s start to read file %s, current offset:%" PRId64 ", size:%" PRId64 ", file no.%d", STREAM_STATE_TRANSFER,
|
||||||
item->name, (int64_t)pHandle->offset, item->size, pHandle->currFileIdx);
|
item->name, (int64_t)pHandle->offset, item->size, pHandle->currFileIdx);
|
||||||
uint8_t* buf = taosMemoryCalloc(1, sizeof(SStreamSnapBlockHdr) + kBlockSize);
|
uint8_t* buf = taosMemoryCalloc(1, sizeof(SStreamSnapBlockHdr) + kBlockSize);
|
||||||
|
if(buf == NULL){
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
int64_t nread = taosPReadFile(pHandle->fd, buf + sizeof(SStreamSnapBlockHdr), kBlockSize, pHandle->offset);
|
int64_t nread = taosPReadFile(pHandle->fd, buf + sizeof(SStreamSnapBlockHdr), kBlockSize, pHandle->offset);
|
||||||
if (nread == -1) {
|
if (nread == -1) {
|
||||||
code = TAOS_SYSTEM_ERROR(terrno);
|
code = TAOS_SYSTEM_ERROR(terrno);
|
||||||
qError("%s snap failed to read snap, file name:%s, type:%d,reason:%s", STREAM_STATE_TRANSFER, item->name,
|
qError("%s snap failed to read snap, file name:%s, type:%d,reason:%s", STREAM_STATE_TRANSFER, item->name,
|
||||||
item->type, tstrerror(code));
|
item->type, tstrerror(code));
|
||||||
|
taosMemoryFree(buf);
|
||||||
return -1;
|
return -1;
|
||||||
} else if (nread > 0 && nread <= kBlockSize) {
|
} else if (nread > 0 && nread <= kBlockSize) {
|
||||||
// left bytes less than kBlockSize
|
// left bytes less than kBlockSize
|
||||||
|
@ -368,6 +372,7 @@ int32_t streamSnapRead(SStreamSnapReader* pReader, uint8_t** ppData, int64_t* si
|
||||||
// finish
|
// finish
|
||||||
*ppData = NULL;
|
*ppData = NULL;
|
||||||
*size = 0;
|
*size = 0;
|
||||||
|
taosMemoryFree(buf);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
item = taosArrayGet(pHandle->pFileList, pHandle->currFileIdx);
|
item = taosArrayGet(pHandle->pFileList, pHandle->currFileIdx);
|
||||||
|
|
Loading…
Reference in New Issue