diff --git a/src/kit/taosdemo/taosdemo.c b/src/kit/taosdemo/taosdemo.c index 24c279a3879aa66663d94694bc6b36e05b526334..3ea65cec64227745bbeea0b4b212d8c686c9fba0 100644 --- a/src/kit/taosdemo/taosdemo.c +++ b/src/kit/taosdemo/taosdemo.c @@ -6434,7 +6434,8 @@ static int64_t generateStbRowData( "(%" PRId64 "", timestamp); for (int i = 0; i < stbInfo->columnCount; i++) { - dataLen += snprintf(pstr + dataLen, 2, ","); + tstrncpy(pstr + dataLen, ",", 2); + dataLen += 1; if ((stbInfo->columns[i].data_type == TSDB_DATA_TYPE_BINARY) || (stbInfo->columns[i].data_type == TSDB_DATA_TYPE_NCHAR)) { @@ -6468,25 +6469,25 @@ static int64_t generateStbRowData( tmp = rand_int_str(); } tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, INT_BUFF_LEN)); break; case TSDB_DATA_TYPE_UINT: tmp = rand_uint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, INT_BUFF_LEN)); break; case TSDB_DATA_TYPE_BIGINT: tmp = rand_bigint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, BIGINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_UBIGINT: tmp = rand_ubigint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, BIGINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_FLOAT: @@ -6500,49 +6501,49 @@ static int64_t generateStbRowData( tmp = rand_float_str(); } tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, FLOAT_BUFF_LEN)); break; case TSDB_DATA_TYPE_DOUBLE: tmp = rand_double_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, DOUBLE_BUFF_LEN)); break; case TSDB_DATA_TYPE_SMALLINT: tmp = rand_smallint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, SMALLINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_USMALLINT: tmp = rand_usmallint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, SMALLINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_TINYINT: tmp = rand_tinyint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, TINYINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_UTINYINT: tmp = rand_utinyint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen +1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, TINYINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_BOOL: tmp = rand_bool_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, tmpLen + 1, "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, BOOL_BUFF_LEN)); break; case TSDB_DATA_TYPE_TIMESTAMP: tmp = rand_bigint_str(); tmpLen = strlen(tmp); - dataLen += snprintf(pstr + dataLen, min(tmpLen + 1, BIGINT_BUFF_LEN), "%s", tmp); + tstrncpy(pstr + dataLen, tmp, min(tmpLen + 1, BIGINT_BUFF_LEN)); break; case TSDB_DATA_TYPE_NULL: @@ -6553,6 +6554,9 @@ static int64_t generateStbRowData( stbInfo->columns[i].dataType); exit(EXIT_FAILURE); } + if (tmp) { + dataLen += tmpLen; + } } if (dataLen > (remainderBufLen - (128)))