Merge pull request #25984 from taosdata/fix/TD-30309-3.0
fix: coverity scan problem
This commit is contained in:
commit
c8f13874a7
|
@ -177,7 +177,7 @@ static int32_t tBufferReaderInit(SBufferReader *reader, uint32_t offset, SBuffer
|
||||||
}
|
}
|
||||||
|
|
||||||
static FORCE_INLINE int32_t tBufferGet(SBufferReader *reader, uint32_t size, void *data) {
|
static FORCE_INLINE int32_t tBufferGet(SBufferReader *reader, uint32_t size, void *data) {
|
||||||
if (reader->offset < 0 || reader->offset + size > reader->buffer->size) {
|
if (reader->offset + size > reader->buffer->size) {
|
||||||
return TSDB_CODE_OUT_OF_RANGE;
|
return TSDB_CODE_OUT_OF_RANGE;
|
||||||
}
|
}
|
||||||
if (data) {
|
if (data) {
|
||||||
|
|
|
@ -119,7 +119,7 @@ static FORCE_INLINE int32_t taosGetTbHashVal(const char *tbname, int32_t tblen,
|
||||||
|
|
||||||
#define TSDB_CHECK_CODE(CODE, LINO, LABEL) \
|
#define TSDB_CHECK_CODE(CODE, LINO, LABEL) \
|
||||||
do { \
|
do { \
|
||||||
if ((CODE)) { \
|
if (TSDB_CODE_SUCCESS != (CODE)) { \
|
||||||
LINO = __LINE__; \
|
LINO = __LINE__; \
|
||||||
goto LABEL; \
|
goto LABEL; \
|
||||||
} \
|
} \
|
||||||
|
|
|
@ -211,6 +211,11 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t tsdbCommitCloseReader(SCommitter2 *committer) {
|
||||||
|
TARRAY2_CLEAR(committer->sttReaderArray, tsdbSttFileReaderClose);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t tsdbCommitOpenReader(SCommitter2 *committer) {
|
static int32_t tsdbCommitOpenReader(SCommitter2 *committer) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -255,13 +260,17 @@ static int32_t tsdbCommitOpenReader(SCommitter2 *committer) {
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
|
tsdbCommitCloseReader(committer);
|
||||||
TSDB_ERROR_LOG(TD_VID(committer->tsdb->pVnode), lino, code);
|
TSDB_ERROR_LOG(TD_VID(committer->tsdb->pVnode), lino, code);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbCommitCloseReader(SCommitter2 *committer) {
|
static int32_t tsdbCommitCloseIter(SCommitter2 *committer) {
|
||||||
TARRAY2_CLEAR(committer->sttReaderArray, tsdbSttFileReaderClose);
|
tsdbIterMergerClose(&committer->tombIterMerger);
|
||||||
|
tsdbIterMergerClose(&committer->dataIterMerger);
|
||||||
|
TARRAY2_CLEAR(committer->tombIterArray, tsdbIterClose);
|
||||||
|
TARRAY2_CLEAR(committer->dataIterArray, tsdbIterClose);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,19 +344,12 @@ static int32_t tsdbCommitOpenIter(SCommitter2 *committer) {
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
|
tsdbCommitCloseIter(committer);
|
||||||
TSDB_ERROR_LOG(TD_VID(committer->tsdb->pVnode), lino, code);
|
TSDB_ERROR_LOG(TD_VID(committer->tsdb->pVnode), lino, code);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbCommitCloseIter(SCommitter2 *committer) {
|
|
||||||
tsdbIterMergerClose(&committer->tombIterMerger);
|
|
||||||
tsdbIterMergerClose(&committer->dataIterMerger);
|
|
||||||
TARRAY2_CLEAR(committer->tombIterArray, tsdbIterClose);
|
|
||||||
TARRAY2_CLEAR(committer->dataIterArray, tsdbIterClose);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int32_t tsdbCommitFileSetBegin(SCommitter2 *committer) {
|
static int32_t tsdbCommitFileSetBegin(SCommitter2 *committer) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
|
|
@ -74,7 +74,7 @@ int32_t tsdbDataFileRAWReadBlockData(SDataFileRAWReader *reader, STsdbDataRAWBlo
|
||||||
pBlock->file.stt->level = reader->config->file.stt->level;
|
pBlock->file.stt->level = reader->config->file.stt->level;
|
||||||
|
|
||||||
int32_t encryptAlgorithm = reader->config->tsdb->pVnode->config.tsdbCfg.encryptAlgorithm;
|
int32_t encryptAlgorithm = reader->config->tsdb->pVnode->config.tsdbCfg.encryptAlgorithm;
|
||||||
char* encryptKey = reader->config->tsdb->pVnode->config.tsdbCfg.encryptKey;
|
char *encryptKey = reader->config->tsdb->pVnode->config.tsdbCfg.encryptKey;
|
||||||
code = tsdbReadFile(reader->fd, pBlock->offset, pBlock->data, pBlock->dataLength, 0, encryptAlgorithm, encryptKey);
|
code = tsdbReadFile(reader->fd, pBlock->offset, pBlock->data, pBlock->dataLength, 0, encryptAlgorithm, encryptKey);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ static int32_t tsdbDataFileRAWWriterCloseCommit(SDataFileRAWWriter *writer, TFil
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
int32_t encryptAlgorithm = writer->config->tsdb->pVnode->config.tsdbCfg.encryptAlgorithm;
|
int32_t encryptAlgorithm = writer->config->tsdb->pVnode->config.tsdbCfg.encryptAlgorithm;
|
||||||
char* encryptKey = writer->config->tsdb->pVnode->config.tsdbCfg.encryptKey;
|
char *encryptKey = writer->config->tsdb->pVnode->config.tsdbCfg.encryptKey;
|
||||||
|
|
||||||
if (writer->fd) {
|
if (writer->fd) {
|
||||||
code = tsdbFsyncFile(writer->fd, encryptAlgorithm, encryptKey);
|
code = tsdbFsyncFile(writer->fd, encryptAlgorithm, encryptKey);
|
||||||
|
@ -211,13 +211,13 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tsdbDataFileRAWWriteBlockData(SDataFileRAWWriter *writer, const STsdbDataRAWBlockHeader *pDataBlock,
|
int32_t tsdbDataFileRAWWriteBlockData(SDataFileRAWWriter *writer, const STsdbDataRAWBlockHeader *pDataBlock,
|
||||||
int32_t encryptAlgorithm, char* encryptKey) {
|
int32_t encryptAlgorithm, char *encryptKey) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
|
||||||
code = tsdbWriteFile(writer->fd, writer->ctx->offset, (const uint8_t *)pDataBlock->data, pDataBlock->dataLength,
|
code = tsdbWriteFile(writer->fd, writer->ctx->offset, (const uint8_t *)pDataBlock->data, pDataBlock->dataLength,
|
||||||
encryptAlgorithm, encryptKey);
|
encryptAlgorithm, encryptKey);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
writer->ctx->offset += pDataBlock->dataLength;
|
writer->ctx->offset += pDataBlock->dataLength;
|
||||||
|
|
|
@ -44,7 +44,7 @@ static const struct {
|
||||||
};
|
};
|
||||||
|
|
||||||
void remove_file(const char *fname) {
|
void remove_file(const char *fname) {
|
||||||
taosRemoveFile(fname);
|
(void)taosRemoveFile(fname);
|
||||||
tsdbInfo("file:%s is removed", fname);
|
tsdbInfo("file:%s is removed", fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,11 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t tsdbMergeFileSetEndCloseReader(SMerger *merger) {
|
||||||
|
TARRAY2_CLEAR(merger->sttReaderArr, tsdbSttFileReaderClose);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t tsdbMergeFileSetBeginOpenReader(SMerger *merger) {
|
static int32_t tsdbMergeFileSetBeginOpenReader(SMerger *merger) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -220,8 +225,10 @@ static int32_t tsdbMergeFileSetBeginOpenReader(SMerger *merger) {
|
||||||
code = tsdbSttFileReaderOpen(fobj->fname, &config, &reader);
|
code = tsdbSttFileReaderOpen(fobj->fname, &config, &reader);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
code = TARRAY2_APPEND(merger->sttReaderArr, reader);
|
if ((code = TARRAY2_APPEND(merger->sttReaderArr, reader))) {
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
tsdbSttFileReaderClose(&reader);
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,6 +239,7 @@ static int32_t tsdbMergeFileSetBeginOpenReader(SMerger *merger) {
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
|
tsdbMergeFileSetEndCloseReader(merger);
|
||||||
TSDB_ERROR_LOG(TD_VID(merger->tsdb->pVnode), lino, code);
|
TSDB_ERROR_LOG(TD_VID(merger->tsdb->pVnode), lino, code);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -375,11 +383,6 @@ static int32_t tsdbMergeFileSetEndCloseIter(SMerger *merger) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbMergeFileSetEndCloseReader(SMerger *merger) {
|
|
||||||
TARRAY2_CLEAR(merger->sttReaderArr, tsdbSttFileReaderClose);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int32_t tsdbMergeFileSetEnd(SMerger *merger) {
|
static int32_t tsdbMergeFileSetEnd(SMerger *merger) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
|
|
@ -321,10 +321,10 @@ int32_t tDeserializeTsdbFSetPartList(void* buf, int32_t bufLen, STsdbFSetPartLis
|
||||||
if (tDecodeI64(&decoder, &r.minVer) < 0) goto _err;
|
if (tDecodeI64(&decoder, &r.minVer) < 0) goto _err;
|
||||||
if (tDecodeI64(&decoder, &r.maxVer) < 0) goto _err;
|
if (tDecodeI64(&decoder, &r.maxVer) < 0) goto _err;
|
||||||
if (tDecodeI64(&decoder, &reserved64) < 0) goto _err;
|
if (tDecodeI64(&decoder, &reserved64) < 0) goto _err;
|
||||||
TARRAY2_APPEND(iList, r);
|
if (TARRAY2_APPEND(iList, r)) goto _err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TARRAY2_APPEND(pList, p);
|
if (TARRAY2_APPEND(pList, p)) goto _err;
|
||||||
p = NULL;
|
p = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,20 @@ struct STsdbSnapReader {
|
||||||
STombBlock tombBlock[1];
|
STombBlock tombBlock[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int32_t tsdbSnapReadFileSetCloseReader(STsdbSnapReader* reader) {
|
||||||
|
int32_t code = 0;
|
||||||
|
int32_t lino = 0;
|
||||||
|
|
||||||
|
TARRAY2_CLEAR(reader->sttReaderArr, tsdbSttFileReaderClose);
|
||||||
|
tsdbDataFileReaderClose(&reader->dataReader);
|
||||||
|
|
||||||
|
_exit:
|
||||||
|
if (code) {
|
||||||
|
TSDB_ERROR_LOG(TD_VID(reader->tsdb->pVnode), code, lino);
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t tsdbSnapReadFileSetOpenReader(STsdbSnapReader* reader) {
|
static int32_t tsdbSnapReadFileSetOpenReader(STsdbSnapReader* reader) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -100,27 +114,16 @@ static int32_t tsdbSnapReadFileSetOpenReader(STsdbSnapReader* reader) {
|
||||||
code = tsdbSttFileReaderOpen(fobj->fname, &config, &sttReader);
|
code = tsdbSttFileReaderOpen(fobj->fname, &config, &sttReader);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
code = TARRAY2_APPEND(reader->sttReaderArr, sttReader);
|
if ((code = TARRAY2_APPEND(reader->sttReaderArr, sttReader))) {
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
tsdbSttFileReaderClose(&sttReader);
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
TSDB_ERROR_LOG(TD_VID(reader->tsdb->pVnode), code, lino);
|
tsdbSnapReadFileSetCloseReader(reader);
|
||||||
}
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int32_t tsdbSnapReadFileSetCloseReader(STsdbSnapReader* reader) {
|
|
||||||
int32_t code = 0;
|
|
||||||
int32_t lino = 0;
|
|
||||||
|
|
||||||
TARRAY2_CLEAR(reader->sttReaderArr, tsdbSttFileReaderClose);
|
|
||||||
tsdbDataFileReaderClose(&reader->dataReader);
|
|
||||||
|
|
||||||
_exit:
|
|
||||||
if (code) {
|
|
||||||
TSDB_ERROR_LOG(TD_VID(reader->tsdb->pVnode), code, lino);
|
TSDB_ERROR_LOG(TD_VID(reader->tsdb->pVnode), code, lino);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
|
|
@ -141,6 +141,7 @@ static int32_t tsdbSnapRAWReadFileSetOpenReader(STsdbSnapRAWReader* reader) {
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
|
tsdbSnapRAWReadFileSetCloseReader(reader);
|
||||||
TSDB_ERROR_LOG(TD_VID(reader->tsdb->pVnode), code, lino);
|
TSDB_ERROR_LOG(TD_VID(reader->tsdb->pVnode), code, lino);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -546,7 +547,7 @@ static int32_t tsdbSnapRAWWriteTimeSeriesData(STsdbSnapRAWWriter* writer, STsdbD
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
|
||||||
int32_t encryptAlgorithm = writer->tsdb->pVnode->config.tsdbCfg.encryptAlgorithm;
|
int32_t encryptAlgorithm = writer->tsdb->pVnode->config.tsdbCfg.encryptAlgorithm;
|
||||||
char* encryptKey = writer->tsdb->pVnode->config.tsdbCfg.encryptKey;
|
char* encryptKey = writer->tsdb->pVnode->config.tsdbCfg.encryptKey;
|
||||||
|
|
||||||
code = tsdbFSetRAWWriteBlockData(writer->ctx->fsetWriter, bHdr, encryptAlgorithm, encryptKey);
|
code = tsdbFSetRAWWriteBlockData(writer->ctx->fsetWriter, bHdr, encryptAlgorithm, encryptKey);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
|
@ -896,7 +896,7 @@ static int32_t tsdbSttFWriterCloseAbort(SSttFileWriter *writer) {
|
||||||
char fname[TSDB_FILENAME_LEN];
|
char fname[TSDB_FILENAME_LEN];
|
||||||
tsdbTFileName(writer->config->tsdb, writer->file, fname);
|
tsdbTFileName(writer->config->tsdb, writer->file, fname);
|
||||||
tsdbCloseFile(&writer->fd);
|
tsdbCloseFile(&writer->fd);
|
||||||
taosRemoveFile(fname);
|
(void)taosRemoveFile(fname);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,8 @@ int32_t tTombBlockGet(STombBlock *tombBlock, int32_t idx, STombRecord *record) {
|
||||||
|
|
||||||
for (int32_t i = 0; i < TOMB_RECORD_ELEM_NUM; ++i) {
|
for (int32_t i = 0; i < TOMB_RECORD_ELEM_NUM; ++i) {
|
||||||
SBufferReader br = BUFFER_READER_INITIALIZER(sizeof(int64_t) * idx, &tombBlock->buffers[i]);
|
SBufferReader br = BUFFER_READER_INITIALIZER(sizeof(int64_t) * idx, &tombBlock->buffers[i]);
|
||||||
tBufferGetI64(&br, &record->data[i]);
|
int32_t code = tBufferGetI64(&br, &record->data[i]);
|
||||||
|
if (code) return code;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -182,7 +183,8 @@ int32_t tStatisBlockPut(STbStatisBlock *block, SRowInfo *row, int32_t maxRecords
|
||||||
if (block->numOfRecords > 0) {
|
if (block->numOfRecords > 0) {
|
||||||
int64_t lastUid;
|
int64_t lastUid;
|
||||||
SBufferReader br = BUFFER_READER_INITIALIZER(sizeof(int64_t) * (block->numOfRecords - 1), &block->uids);
|
SBufferReader br = BUFFER_READER_INITIALIZER(sizeof(int64_t) * (block->numOfRecords - 1), &block->uids);
|
||||||
tBufferGetI64(&br, &lastUid);
|
int32_t code = tBufferGetI64(&br, &lastUid);
|
||||||
|
if (code) return code;
|
||||||
|
|
||||||
if (lastUid == row->uid) {
|
if (lastUid == row->uid) {
|
||||||
return tStatisBlockUpdate(block, row);
|
return tStatisBlockUpdate(block, row);
|
||||||
|
|
Loading…
Reference in New Issue