diff --git a/src/plugins/http/src/gcHandle.c b/src/plugins/http/src/gcHandle.c index 176e16301bb764faae12c8329ea410d9546d6268..20cd19df9d115e296e379f8ff03c49fa3a7dd5b6 100644 --- a/src/plugins/http/src/gcHandle.c +++ b/src/plugins/http/src/gcHandle.c @@ -52,7 +52,7 @@ bool gcGetUserFromUrl(HttpContext* pContext) { return false; } - strcpy(pContext->user, pParser->path[GC_USER_URL_POS].pos); + tstrncpy(pContext->user, pParser->path[GC_USER_URL_POS].pos, TSDB_USER_LEN); return true; } @@ -62,7 +62,7 @@ bool gcGetPassFromUrl(HttpContext* pContext) { return false; } - strcpy(pContext->pass, pParser->path[GC_PASS_URL_POS].pos); + tstrncpy(pContext->pass, pParser->path[GC_PASS_URL_POS].pos, TSDB_PASSWORD_LEN); return true; } diff --git a/src/plugins/http/src/httpAuth.c b/src/plugins/http/src/httpAuth.c index 0439083f31e5d4d7c9434535b6dd3f43a7fe6a65..69630336a25eb999c2ae8749d32fb4696a68fe67 100644 --- a/src/plugins/http/src/httpAuth.c +++ b/src/plugins/http/src/httpAuth.c @@ -29,6 +29,7 @@ bool httpParseBasicAuthToken(HttpContext *pContext, char *token, int len) { char *base64 = (char *)base64_decode(token, len, &outlen); if (base64 == NULL || outlen == 0) { httpError("context:%p, fd:%d, ip:%s, basic token:%s parsed error", pContext, pContext->fd, pContext->ipstr, token); + free(base64); return false; } diff --git a/src/plugins/http/src/httpJson.c b/src/plugins/http/src/httpJson.c index 901b9307745e67b1e7bd31597861e5417b7e7b96..7b49b065718b28427593bbe30c28c9ad352cf5a5 100644 --- a/src/plugins/http/src/httpJson.c +++ b/src/plugins/http/src/httpJson.c @@ -442,14 +442,13 @@ void httpJsonPairStatus(JsonBuf* buf, int code) { httpJsonPair(buf, "status", 6, "error", 5); httpJsonItemToken(buf); httpJsonPairIntVal(buf, "code", 4, code); - if (code >= 0) { - httpJsonItemToken(buf); - if (code == TSDB_CODE_MND_DB_NOT_SELECTED) { - httpJsonPair(buf, "desc", 4, "failed to create database", 23); - } else if (code == TSDB_CODE_MND_INVALID_TABLE_NAME) { - httpJsonPair(buf, "desc", 4, "failed to create table", 22); - } else - httpJsonPair(buf, "desc", 4, (char*)tstrerror(code), (int)strlen(tstrerror(code))); + httpJsonItemToken(buf); + if (code == TSDB_CODE_MND_DB_NOT_SELECTED) { + httpJsonPair(buf, "desc", 4, "failed to create database", 23); + } else if (code == TSDB_CODE_MND_INVALID_TABLE_NAME) { + httpJsonPair(buf, "desc", 4, "failed to create table", 22); + } else { + httpJsonPair(buf, "desc", 4, (char*)tstrerror(code), (int)strlen(tstrerror(code))); } } } diff --git a/src/plugins/http/src/httpUtil.c b/src/plugins/http/src/httpUtil.c index 694cdec0a0c84f52d61aff03311f7b355edd664a..d1a0eb90f03de4108ad16b6d2f836058f7273eb2 100644 --- a/src/plugins/http/src/httpUtil.c +++ b/src/plugins/http/src/httpUtil.c @@ -202,8 +202,7 @@ bool httpReMallocMultiCmdsSize(HttpContext *pContext, int cmdSize) { pContext->user, cmdSize); return false; } - memset(multiCmds->cmds + multiCmds->maxSize * (int16_t)sizeof(HttpSqlCmd), 0, - (size_t)(cmdSize - multiCmds->maxSize) * sizeof(HttpSqlCmd)); + memset(multiCmds->cmds + multiCmds->maxSize, 0, (size_t)(cmdSize - multiCmds->maxSize) * sizeof(HttpSqlCmd)); multiCmds->maxSize = (int16_t)cmdSize; return true; diff --git a/src/plugins/http/src/restHandle.c b/src/plugins/http/src/restHandle.c index 93094fa287b9eb272ed1c9224026594e7d12772f..2e04f562ea618db98c5a8d151365649001c44f15 100644 --- a/src/plugins/http/src/restHandle.c +++ b/src/plugins/http/src/restHandle.c @@ -65,7 +65,7 @@ bool restGetUserFromUrl(HttpContext* pContext) { return false; } - strcpy(pContext->user, pParser->path[REST_USER_URL_POS].pos); + tstrncpy(pContext->user, pParser->path[REST_USER_URL_POS].pos, TSDB_USER_LEN); return true; } @@ -75,7 +75,7 @@ bool restGetPassFromUrl(HttpContext* pContext) { return false; } - strcpy(pContext->pass, pParser->path[REST_PASS_URL_POS].pos); + tstrncpy(pContext->pass, pParser->path[REST_PASS_URL_POS].pos, TSDB_PASSWORD_LEN); return true; } diff --git a/src/plugins/http/src/tgHandle.c b/src/plugins/http/src/tgHandle.c index fae11127e1634038a4c5d18a80cf04d07bb82f49..354fa6b07e543e056ebc1b3f6f71345f4fa9a2b9 100644 --- a/src/plugins/http/src/tgHandle.c +++ b/src/plugins/http/src/tgHandle.c @@ -268,10 +268,10 @@ int tgReadSchema(char *fileName) { httpPrint("open telegraf schema file:%s success", fileName); fseek(fp, 0, SEEK_END); - size_t contentSize = (size_t)ftell(fp); + int32_t contentSize = (int32_t)ftell(fp); rewind(fp); - char *content = (char *)calloc(contentSize * sizeof(char) + 1, 1); - size_t result = fread(content, 1, contentSize, fp); + char * content = (char *)calloc(contentSize + 1, 1); + int32_t result = fread(content, 1, contentSize, fp); if (result != contentSize) { httpError("failed to read telegraf schema file:%s", fileName); fclose(fp); @@ -279,6 +279,7 @@ int tgReadSchema(char *fileName) { return -1; } + content[contentSize] = 0; int schemaNum = tgParseSchema(content, fileName); free(content); diff --git a/src/plugins/monitor/src/monitorMain.c b/src/plugins/monitor/src/monitorMain.c index ea7916026cad561fb4cbb3ba529efa60b1ce615c..feb03df35d716ad045c694764b4c3ab960a1eabb 100644 --- a/src/plugins/monitor/src/monitorMain.c +++ b/src/plugins/monitor/src/monitorMain.c @@ -61,7 +61,7 @@ typedef struct { char ep[TSDB_EP_LEN]; int8_t cmdIndex; int8_t state; - char sql[SQL_LENGTH]; + char sql[SQL_LENGTH + 1]; void * initTimer; void * diskTimer; } SMonitorConn; diff --git a/src/plugins/mqtt/src/mqttSystem.c b/src/plugins/mqtt/src/mqttSystem.c index 3266579e337c5b63032e8bcf253f87cf66252b6a..e9af733d078dd00f968a4fb791d67696cccbfbfb 100644 --- a/src/plugins/mqtt/src/mqttSystem.c +++ b/src/plugins/mqtt/src/mqttSystem.c @@ -164,7 +164,7 @@ void mqtt_PublishCallback(void** unused, struct mqtt_response_publish* published void* mqttClientRefresher(void* client) { while (mttIsRuning) { mqtt_sync((struct mqtt_client*)client); - usleep(100000U); + taosMsleep(100); } mqttPrint("Exit mqttClientRefresher"); return NULL;