Merge pull request #17461 from taosdata/fix/coverity.pw
fix: fix coverity issues
This commit is contained in:
commit
67e23350b2
|
@ -199,7 +199,7 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
|
||||||
if (tsQueryUseNodeAllocator && !qIsInsertValuesSql((*pRequest)->sqlstr, (*pRequest)->sqlLen)) {
|
if (tsQueryUseNodeAllocator && !qIsInsertValuesSql((*pRequest)->sqlstr, (*pRequest)->sqlLen)) {
|
||||||
if (TSDB_CODE_SUCCESS !=
|
if (TSDB_CODE_SUCCESS !=
|
||||||
nodesCreateAllocator((*pRequest)->requestId, tsQueryNodeChunkSize, &((*pRequest)->allocatorRefId))) {
|
nodesCreateAllocator((*pRequest)->requestId, tsQueryNodeChunkSize, &((*pRequest)->allocatorRefId))) {
|
||||||
tscError("%d failed to create node allocator, reqId:0x%" PRIx64 ", conn:%" PRId64 ", %s", (*pRequest)->self,
|
tscError("%" PRId64 " failed to create node allocator, reqId:0x%" PRIx64 ", conn:%" PRId64 ", %s", (*pRequest)->self,
|
||||||
(*pRequest)->requestId, pTscObj->id, sql);
|
(*pRequest)->requestId, pTscObj->id, sql);
|
||||||
|
|
||||||
destroyRequest(*pRequest);
|
destroyRequest(*pRequest);
|
||||||
|
|
|
@ -2555,7 +2555,7 @@ static int32_t mndRetrieveStb(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBloc
|
||||||
int32_t rollupNum = (int32_t)taosArrayGetSize(pStb->pFuncs);
|
int32_t rollupNum = (int32_t)taosArrayGetSize(pStb->pFuncs);
|
||||||
char *sep = ", ";
|
char *sep = ", ";
|
||||||
int32_t sepLen = strlen(sep);
|
int32_t sepLen = strlen(sep);
|
||||||
int32_t rollupLen = sizeof(rollup) - 2;
|
int32_t rollupLen = sizeof(rollup) - VARSTR_HEADER_SIZE - 2;
|
||||||
for (int32_t i = 0; i < rollupNum; ++i) {
|
for (int32_t i = 0; i < rollupNum; ++i) {
|
||||||
char *funcName = taosArrayGet(pStb->pFuncs, i);
|
char *funcName = taosArrayGet(pStb->pFuncs, i);
|
||||||
if (i) {
|
if (i) {
|
||||||
|
|
|
@ -150,9 +150,15 @@ static int32_t getStatus(SDataDeleterHandle* pDeleter) {
|
||||||
static int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData* pInput, bool* pContinue) {
|
static int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData* pInput, bool* pContinue) {
|
||||||
SDataDeleterHandle* pDeleter = (SDataDeleterHandle*)pHandle;
|
SDataDeleterHandle* pDeleter = (SDataDeleterHandle*)pHandle;
|
||||||
SDataDeleterBuf* pBuf = taosAllocateQitem(sizeof(SDataDeleterBuf), DEF_QITEM);
|
SDataDeleterBuf* pBuf = taosAllocateQitem(sizeof(SDataDeleterBuf), DEF_QITEM);
|
||||||
if (NULL == pBuf || !allocBuf(pDeleter, pInput, pBuf)) {
|
if (NULL == pBuf) {
|
||||||
return TSDB_CODE_QRY_OUT_OF_MEMORY;
|
return TSDB_CODE_QRY_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!allocBuf(pDeleter, pInput, pBuf)) {
|
||||||
|
taosFreeQitem(pBuf);
|
||||||
|
return TSDB_CODE_QRY_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
toDataCacheEntry(pDeleter, pInput, pBuf);
|
toDataCacheEntry(pDeleter, pInput, pBuf);
|
||||||
taosWriteQitem(pDeleter->pDataBlocks, pBuf);
|
taosWriteQitem(pDeleter->pDataBlocks, pBuf);
|
||||||
*pContinue = (DS_BUF_LOW == updateStatus(pDeleter) ? true : false);
|
*pContinue = (DS_BUF_LOW == updateStatus(pDeleter) ? true : false);
|
||||||
|
|
|
@ -324,6 +324,7 @@ int32_t createDataInserter(SDataSinkManager* pManager, const SDataSinkNode* pDat
|
||||||
tsdbGetTableSchema(inserter->pParam->readHandle->vnode, pInserterNode->tableId, &inserter->pSchema, &suid);
|
tsdbGetTableSchema(inserter->pParam->readHandle->vnode, pInserterNode->tableId, &inserter->pSchema, &suid);
|
||||||
if (code) {
|
if (code) {
|
||||||
destroyDataSinker((SDataSinkHandle*)inserter);
|
destroyDataSinker((SDataSinkHandle*)inserter);
|
||||||
|
taosMemoryFree(inserter);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,19 +26,25 @@ static void *taosProcessSchedQueue(void *param);
|
||||||
static void taosDumpSchedulerStatus(void *qhandle, void *tmrId);
|
static void taosDumpSchedulerStatus(void *qhandle, void *tmrId);
|
||||||
|
|
||||||
void *taosInitScheduler(int32_t queueSize, int32_t numOfThreads, const char *label, SSchedQueue *pSched) {
|
void *taosInitScheduler(int32_t queueSize, int32_t numOfThreads, const char *label, SSchedQueue *pSched) {
|
||||||
|
bool schedMalloced = false;
|
||||||
|
|
||||||
if (NULL == pSched) {
|
if (NULL == pSched) {
|
||||||
pSched = (SSchedQueue *)taosMemoryCalloc(sizeof(SSchedQueue), 1);
|
pSched = (SSchedQueue *)taosMemoryCalloc(sizeof(SSchedQueue), 1);
|
||||||
if (pSched == NULL) {
|
if (pSched == NULL) {
|
||||||
uError("%s: no enough memory for pSched", label);
|
uError("%s: no enough memory for pSched", label);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
schedMalloced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
pSched->queue = (SSchedMsg *)taosMemoryCalloc(sizeof(SSchedMsg), queueSize);
|
pSched->queue = (SSchedMsg *)taosMemoryCalloc(sizeof(SSchedMsg), queueSize);
|
||||||
if (pSched->queue == NULL) {
|
if (pSched->queue == NULL) {
|
||||||
uError("%s: no enough memory for queue", label);
|
uError("%s: no enough memory for queue", label);
|
||||||
taosCleanUpScheduler(pSched);
|
taosCleanUpScheduler(pSched);
|
||||||
|
if (schedMalloced) {
|
||||||
taosMemoryFree(pSched);
|
taosMemoryFree(pSched);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,6 +52,9 @@ void *taosInitScheduler(int32_t queueSize, int32_t numOfThreads, const char *lab
|
||||||
if (pSched->qthread == NULL) {
|
if (pSched->qthread == NULL) {
|
||||||
uError("%s: no enough memory for qthread", label);
|
uError("%s: no enough memory for qthread", label);
|
||||||
taosCleanUpScheduler(pSched);
|
taosCleanUpScheduler(pSched);
|
||||||
|
if (schedMalloced) {
|
||||||
|
taosMemoryFree(pSched);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,18 +67,27 @@ void *taosInitScheduler(int32_t queueSize, int32_t numOfThreads, const char *lab
|
||||||
if (taosThreadMutexInit(&pSched->queueMutex, NULL) < 0) {
|
if (taosThreadMutexInit(&pSched->queueMutex, NULL) < 0) {
|
||||||
uError("init %s:queueMutex failed(%s)", label, strerror(errno));
|
uError("init %s:queueMutex failed(%s)", label, strerror(errno));
|
||||||
taosCleanUpScheduler(pSched);
|
taosCleanUpScheduler(pSched);
|
||||||
|
if (schedMalloced) {
|
||||||
|
taosMemoryFree(pSched);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tsem_init(&pSched->emptySem, 0, (uint32_t)pSched->queueSize) != 0) {
|
if (tsem_init(&pSched->emptySem, 0, (uint32_t)pSched->queueSize) != 0) {
|
||||||
uError("init %s:empty semaphore failed(%s)", label, strerror(errno));
|
uError("init %s:empty semaphore failed(%s)", label, strerror(errno));
|
||||||
taosCleanUpScheduler(pSched);
|
taosCleanUpScheduler(pSched);
|
||||||
|
if (schedMalloced) {
|
||||||
|
taosMemoryFree(pSched);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tsem_init(&pSched->fullSem, 0, 0) != 0) {
|
if (tsem_init(&pSched->fullSem, 0, 0) != 0) {
|
||||||
uError("init %s:full semaphore failed(%s)", label, strerror(errno));
|
uError("init %s:full semaphore failed(%s)", label, strerror(errno));
|
||||||
taosCleanUpScheduler(pSched);
|
taosCleanUpScheduler(pSched);
|
||||||
|
if (schedMalloced) {
|
||||||
|
taosMemoryFree(pSched);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,6 +101,9 @@ void *taosInitScheduler(int32_t queueSize, int32_t numOfThreads, const char *lab
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
uError("%s: failed to create rpc thread(%s)", label, strerror(errno));
|
uError("%s: failed to create rpc thread(%s)", label, strerror(errno));
|
||||||
taosCleanUpScheduler(pSched);
|
taosCleanUpScheduler(pSched);
|
||||||
|
if (schedMalloced) {
|
||||||
|
taosMemoryFree(pSched);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
++pSched->numOfThreads;
|
++pSched->numOfThreads;
|
||||||
|
|
Loading…
Reference in New Issue