diff --git a/source/common/src/cos.c b/source/common/src/cos.c
index a7e69ddc4c..3c72e21a4f 100644
--- a/source/common/src/cos.c
+++ b/source/common/src/cos.c
@@ -261,7 +261,7 @@ static void responseCompleteCallback(S3Status status, const S3ErrorDetails *erro
for (int i = 0; i < error->extraDetailsCount; i++) {
if (elen - len > 0) {
len += tsnprintf(&(cbd->err_msg[len]), elen - len, " %s: %s\n", error->extraDetails[i].name,
- error->extraDetails[i].value);
+ error->extraDetails[i].value);
}
}
}
@@ -742,9 +742,9 @@ upload:
TAOS_CHECK_GOTO(TAOS_SYSTEM_ERROR(EIO), &lino, _exit);
}
n = tsnprintf(buf, sizeof(buf),
- "%d"
- "%s",
- i + 1, manager.etags[i]);
+ "%d"
+ "%s",
+ i + 1, manager.etags[i]);
size += growbuffer_append(&(manager.gb), buf, n);
}
size += growbuffer_append(&(manager.gb), "", strlen(""));
@@ -908,10 +908,10 @@ upload:
int n;
for (int i = 0; i < cp.part_num; ++i) {
n = tsnprintf(buf, sizeof(buf),
- "%d"
- "%s",
- // i + 1, manager.etags[i]);
- cp.parts[i].index + 1, cp.parts[i].etag);
+ "%d"
+ "%s",
+ // i + 1, manager.etags[i]);
+ cp.parts[i].index + 1, cp.parts[i].etag);
size += growbuffer_append(&(manager.gb), buf, n);
}
size += growbuffer_append(&(manager.gb), "", strlen(""));
@@ -1916,7 +1916,8 @@ void s3EvictCache(const char *path, long object_size) {
}
long s3Size(const char *object_name) {
- long size = 0;
+ int32_t code = 0;
+ long size = 0;
cos_pool_t *p = NULL;
int is_cname = 0;
@@ -1941,7 +1942,10 @@ long s3Size(const char *object_name) {
if (cos_status_is_ok(s)) {
char *content_length_str = (char *)apr_table_get(resp_headers, COS_CONTENT_LENGTH);
if (content_length_str != NULL) {
- size = atol(content_length_str);
+ code = taosStr2Int64(content_length_str, &size);
+ if (code != 0) {
+ cos_warn_log("parse content length failed since %s\n", tstrerror(code));
+ }
}
cos_warn_log("head object succeeded: %ld\n", size);
} else {
diff --git a/source/libs/monitorfw/src/taos_monitor_util.c b/source/libs/monitorfw/src/taos_monitor_util.c
index b0eff27507..1240526d48 100644
--- a/source/libs/monitorfw/src/taos_monitor_util.c
+++ b/source/libs/monitorfw/src/taos_monitor_util.c
@@ -41,10 +41,11 @@ void taos_monitor_split_str_metric(char** arr, taos_metric_t* metric, const char
memset(name, 0, size + 1);
memcpy(name, metric->name, size);
- char* s = strtok(name, del);
+ char* saveptr;
+ char* s = strtok_r(name, del, &saveptr);
while (s != NULL) {
*arr++ = s;
- s = strtok(NULL, del);
+ s = strtok_r(NULL, del, &saveptr);
}
*buf = name;