From 91ce69e6af527e8b06a877920d7d11e8f0b6c1d7 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Thu, 21 Nov 2024 20:02:23 +0800 Subject: [PATCH] fix(analytics): check the null ptr. --- source/libs/executor/src/forecastoperator.c | 2 +- source/util/src/tanalytics.c | 8 +++++++- source/util/src/terror.c | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/source/libs/executor/src/forecastoperator.c b/source/libs/executor/src/forecastoperator.c index fc11f70277..bf1efc54ca 100644 --- a/source/libs/executor/src/forecastoperator.c +++ b/source/libs/executor/src/forecastoperator.c @@ -374,7 +374,7 @@ static int32_t forecastNext(SOperatorInfo* pOperator, SSDataBlock** ppRes) { SForecastOperatorInfo* pInfo = pOperator->info; SSDataBlock* pResBlock = pInfo->pRes; SForecastSupp* pSupp = &pInfo->forecastSupp; - SAnalyticBuf* pBuf = &pSupp->analBuf; + SAnalyticBuf* pBuf = &pSupp->analBuf; int64_t st = taosGetTimestampUs(); int32_t numOfBlocks = pSupp->numOfBlocks; const char* pId = GET_TASKID(pOperator->pTaskInfo); diff --git a/source/util/src/tanalytics.c b/source/util/src/tanalytics.c index c0f864b27b..579746be40 100644 --- a/source/util/src/tanalytics.c +++ b/source/util/src/tanalytics.c @@ -148,7 +148,13 @@ bool taosAnalGetOptStr(const char *option, const char *optName, char *optValue, tstrncpy(buf, pStart, len); } - char *pRight = strstr(buf, "=") + 1; + char *pRight = strstr(buf, "="); + if (pRight == NULL) { + return false; + } else { + pRight += 1; + } + strtrim(pRight); int32_t vLen = MIN(optMaxLen, strlen(pRight) + 1); diff --git a/source/util/src/terror.c b/source/util/src/terror.c index b8fccc5603..9e8a85d301 100644 --- a/source/util/src/terror.c +++ b/source/util/src/terror.c @@ -363,7 +363,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_ANODE_TOO_MANY_ALGO_TYPE, "Anode too many algori TAOS_DEFINE_ERROR(TSDB_CODE_ANA_URL_RSP_IS_NULL, "Analysis service response is NULL") TAOS_DEFINE_ERROR(TSDB_CODE_ANA_URL_CANT_ACCESS, "Analysis service can't access") -TAOS_DEFINE_ERROR(TSDB_CODE_ANA_ALGO_NOT_FOUND, "Analysis algorithm not found") +TAOS_DEFINE_ERROR(TSDB_CODE_ANA_ALGO_NOT_FOUND, "Analysis algorithm is missing") TAOS_DEFINE_ERROR(TSDB_CODE_ANA_ALGO_NOT_LOAD, "Analysis algorithm not loaded") TAOS_DEFINE_ERROR(TSDB_CODE_ANA_BUF_INVALID_TYPE, "Analysis invalid buffer type") TAOS_DEFINE_ERROR(TSDB_CODE_ANA_ANODE_RETURN_ERROR, "Analysis failed since anode return error")