Hotfix/sangshuduo/td 3801 taosdump coverity scan issue (#6642)
* [TD-3801]<fix>: taosdump coverity scan issue.
* merge from commit: 069169e7c1
and fix coverity scan issue.
Co-authored-by: Shuduo Sang <sdsang@taosdata.com>
This commit is contained in:
parent
58ccbedfe0
commit
eadaa53418
|
@ -5098,7 +5098,7 @@ static int32_t generateStbDataTail(
|
|||
} else {
|
||||
retLen = getRowDataFromSample(
|
||||
data,
|
||||
remainderBufLen,
|
||||
remainderBufLen < MAX_DATA_SIZE ? remainderBufLen : MAX_DATA_SIZE,
|
||||
startTime + superTblInfo->timeStampStep * k,
|
||||
superTblInfo,
|
||||
pSamplePos);
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
#define COMMAND_SIZE 65536
|
||||
//#define DEFAULT_DUMP_FILE "taosdump.sql"
|
||||
|
||||
// for strncpy buffer overflow
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
|
||||
int converStringToReadable(char *str, int size, char *buf, int bufsize);
|
||||
int convertNCharToReadable(char *str, int size, char *buf, int bufsize);
|
||||
void taosDumpCharset(FILE *fp);
|
||||
|
@ -1119,12 +1122,11 @@ int taosGetTableDes(
|
|||
TAOS_FIELD *fields = taos_fetch_fields(res);
|
||||
|
||||
tstrncpy(tableDes->name, table, TSDB_TABLE_NAME_LEN);
|
||||
|
||||
while ((row = taos_fetch_row(res)) != NULL) {
|
||||
strncpy(tableDes->cols[count].field, (char *)row[TSDB_DESCRIBE_METRIC_FIELD_INDEX],
|
||||
fields[TSDB_DESCRIBE_METRIC_FIELD_INDEX].bytes);
|
||||
strncpy(tableDes->cols[count].type, (char *)row[TSDB_DESCRIBE_METRIC_TYPE_INDEX],
|
||||
fields[TSDB_DESCRIBE_METRIC_TYPE_INDEX].bytes);
|
||||
min(15, fields[TSDB_DESCRIBE_METRIC_TYPE_INDEX].bytes));
|
||||
tableDes->cols[count].length = *((int *)row[TSDB_DESCRIBE_METRIC_LENGTH_INDEX]);
|
||||
strncpy(tableDes->cols[count].note, (char *)row[TSDB_DESCRIBE_METRIC_NOTE_INDEX],
|
||||
fields[TSDB_DESCRIBE_METRIC_NOTE_INDEX].bytes);
|
||||
|
@ -1575,7 +1577,7 @@ int taosDumpDb(SDbInfo *dbInfo, struct arguments *arguments, FILE *fp, TAOS *tao
|
|||
tstrncpy(tableRecord.name, (char *)row[TSDB_SHOW_TABLES_NAME_INDEX],
|
||||
fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes);
|
||||
tstrncpy(tableRecord.metric, (char *)row[TSDB_SHOW_TABLES_METRIC_INDEX],
|
||||
fields[TSDB_SHOW_TABLES_METRIC_INDEX].bytes);
|
||||
min(TSDB_TABLE_NAME_LEN, fields[TSDB_SHOW_TABLES_METRIC_INDEX].bytes));
|
||||
|
||||
taosWrite(fd, &tableRecord, sizeof(STableRecord));
|
||||
|
||||
|
|
Loading…
Reference in New Issue