fix: address PR review — doc accuracy, clang-tidy info, config leak fix
CI / lint (push) Successful in 7s
CI / lint (pull_request) Successful in 7s
CI / build-and-test (push) Successful in 54s
CI / clang-tidy (push) Successful in 6s
CI / sanitizers (address) (push) Successful in 59s
CI / build-and-test (pull_request) Successful in 55s
CI / clang-tidy (pull_request) Successful in 5s
CI / sanitizers (address) (pull_request) Successful in 57s
CI / lint (push) Successful in 7s
CI / lint (pull_request) Successful in 7s
CI / build-and-test (push) Successful in 54s
CI / clang-tidy (push) Successful in 6s
CI / sanitizers (address) (push) Successful in 59s
CI / build-and-test (pull_request) Successful in 55s
CI / clang-tidy (pull_request) Successful in 5s
CI / sanitizers (address) (pull_request) Successful in 57s
Review findings addressed: Critical: - cmake-expert.md: replace commented-out sanitizer lines with actual SANITIZER cache variable block, fix ENABLE_ASAN/TSAN/UBSAN pattern - integrator.md: update YAML example to v7, use -DSANITIZER= instead of raw flags, add symlink + LSAN suppression steps Warnings: - ci.yaml: rename clang-tidy step to 'informational, non-blocking', add ::warning:: workflow command for visibility - client_cli.c: add goto cleanup pattern to free config on error paths (skip for multithreaded path where pipeline_context_sender_destroy already owns config) Suggestions: - test-writer.md: clarify conftest.py is at tests/conftest.py - .lsan-suppressions.txt: remove config_create suppression (leak fixed)
This commit is contained in:
@@ -74,6 +74,7 @@ int main(int argc, char* argv[]) {
|
|||||||
Config* config = config_create(str_dup(PROTOCOL_VERSION), NULL, NULL, save_to_disk, false, false,
|
Config* config = config_create(str_dup(PROTOCOL_VERSION), NULL, NULL, save_to_disk, false, false,
|
||||||
false, false, 5, false, 0);
|
false, false, 5, false, 0);
|
||||||
int exit_code = 0;
|
int exit_code = 0;
|
||||||
|
bool config_owned_by_pipeline = false;
|
||||||
|
|
||||||
int positional_args[2];
|
int positional_args[2];
|
||||||
int positional_count = 0;
|
int positional_count = 0;
|
||||||
@@ -291,12 +292,15 @@ int main(int argc, char* argv[]) {
|
|||||||
tls_global_init();
|
tls_global_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config->use_multithreading)
|
if (config->use_multithreading) {
|
||||||
|
config_owned_by_pipeline = true;
|
||||||
exit_code = send_files_multithreaded(config);
|
exit_code = send_files_multithreaded(config);
|
||||||
else
|
} else {
|
||||||
exit_code = send_files(config);
|
exit_code = send_files(config);
|
||||||
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
config_delete(config);
|
if (!config_owned_by_pipeline)
|
||||||
|
config_delete(config);
|
||||||
return exit_code;
|
return exit_code;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user