fix: fix memory release bug & return value error

This commit is contained in:
Yaming Pei 2025-03-03 16:47:07 +08:00
parent 20f6c7dd53
commit 6bc6223db3
1 changed files with 4 additions and 4 deletions

View File

@ -705,7 +705,7 @@ static void csvFreeCtbTagData(CsvThreadMeta* thread_meta, CsvRowTagsBuf* tags_bu
for (uint64_t i = 0 ; i < thread_meta->ctb_count; ++i) { for (uint64_t i = 0 ; i < thread_meta->ctb_count; ++i) {
char* tags_buf = tags_buf_array[i].buf; char* tags_buf = tags_buf_array[i].buf;
if (tags_buf) { if (tags_buf) {
tmfree(tags_buf_array); tmfree(tags_buf);
} else { } else {
break; break;
} }
@ -738,7 +738,6 @@ static CsvRowTagsBuf* csvGenCtbTagData(CsvWriteMeta* write_meta, CsvThreadMeta*
} }
tags_buf_array[i].buf = tags_buf; tags_buf_array[i].buf = tags_buf;
thread_meta->tags_buf_size = tags_buf_size;
ret = csvGenRowTagData(tags_buf, tags_buf_size, stb, thread_meta->ctb_start_idx + i, &tk); ret = csvGenRowTagData(tags_buf, tags_buf_size, stb, thread_meta->ctb_start_idx + i, &tk);
if (ret <= 0) { if (ret <= 0) {
@ -747,6 +746,7 @@ static CsvRowTagsBuf* csvGenCtbTagData(CsvWriteMeta* write_meta, CsvThreadMeta*
tags_buf_array[i].length = ret; tags_buf_array[i].length = ret;
} }
thread_meta->tags_buf_size = tags_buf_size;
return tags_buf_array; return tags_buf_array;
@ -978,7 +978,7 @@ static void* csvGenStbThread(void* arg) {
for (ctb_idx = 0; ctb_idx < thread_meta->ctb_count; ++ctb_idx) { for (ctb_idx = 0; ctb_idx < thread_meta->ctb_count; ++ctb_idx) {
for (slice_ctb_cur_ts = slice_cur_ts; slice_ctb_cur_ts < slice_batch_ts; slice_ctb_cur_ts += write_meta->stb->timestamp_step) { for (slice_ctb_cur_ts = slice_cur_ts; slice_ctb_cur_ts < slice_batch_ts; slice_ctb_cur_ts += write_meta->stb->timestamp_step) {
ret = csvWriteFile(fhdl, ctb_idx, slice_ctb_cur_ts, &ck, write_meta, thread_meta); ret = csvWriteFile(fhdl, ctb_idx, slice_ctb_cur_ts, &ck, write_meta, thread_meta);
if (!ret) { if (ret) {
errorPrint("Failed to write csv file. thread index: %zu, file: %s, errno: %d, strerror: %s.\n", errorPrint("Failed to write csv file. thread index: %zu, file: %s, errno: %d, strerror: %s.\n",
thread_meta->thread_id, fullname, errno, strerror(errno)); thread_meta->thread_id, fullname, errno, strerror(errno));
csvClose(fhdl); csvClose(fhdl);
@ -1071,7 +1071,7 @@ static int csvGenStbProcess(SDataBase* db, SSuperTable* stb) {
csvInitThreadMeta(write_meta, i + 1, &arg->thread_meta); csvInitThreadMeta(write_meta, i + 1, &arg->thread_meta);
ret = pthread_create(&pids[i], NULL, csvGenStbThread, arg); ret = pthread_create(&pids[i], NULL, csvGenStbThread, arg);
if (!ret) { if (ret) {
perror("Failed to create thread"); perror("Failed to create thread");
goto end; goto end;
} }