From 29a6b5fd8469878fcfc44aff8b0856cf8e7cef71 Mon Sep 17 00:00:00 2001 From: TapTap Date: Wed, 29 Jul 2026 19:42:53 +0200 Subject: [PATCH] fix: address CI failures - strict warnings and ASan leaks in tests --- src/server/server.c | 6 +++--- tests/test_config.c | 1 + tests/test_file.c | 3 +++ tests/test_file_sendfile.c | 3 +++ tests/test_multiprocessing.c | 7 +++++++ tests/test_server.c | 3 +++ 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/server/server.c b/src/server/server.c index 54ffc8a..a5f89c0 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -151,9 +151,10 @@ void handler(int file_descriptor) { close(file_descriptor); } +#ifndef FASTSYNC_SERVER_AS_LIB static Server* g_server = NULL; -static void __attribute__((unused)) cleanup(int sig) { +static void cleanup(int sig) { (void)sig; if (g_server) { server_delete(&g_server); @@ -161,7 +162,7 @@ static void __attribute__((unused)) cleanup(int sig) { _exit(0); } -static void __attribute__((unused)) print_server_usage(void) { +static void print_server_usage(void) { printf("FastSync Server\n"); printf("Usage: fastsync-server [options]\n"); printf("\n"); @@ -176,7 +177,6 @@ static void __attribute__((unused)) print_server_usage(void) { printf(" --help Show this help\n"); } -#ifndef FASTSYNC_SERVER_AS_LIB int main(int argc, char* argv[]) { bool use_tls = false; char* tls_cert = NULL; diff --git a/tests/test_config.c b/tests/test_config.c index 7578d38..b0498d6 100644 --- a/tests/test_config.c +++ b/tests/test_config.c @@ -17,6 +17,7 @@ static Config* make_config(const char* version, const char* src, const char* dst Config* cfg = config_create(); if (!cfg) return NULL; + free(cfg->version); cfg->version = str_dup(version); cfg->send_directory = str_dup(src); cfg->receive_root_directory = str_dup(dst); diff --git a/tests/test_file.c b/tests/test_file.c index 68b2447..7e74232 100644 --- a/tests/test_file.c +++ b/tests/test_file.c @@ -156,6 +156,7 @@ static void test_file_send_receive() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/tmp"); cfg->receive_root_directory = str_dup("/tmp"); @@ -306,6 +307,7 @@ static void test_file_send_single_calls_compression() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/tmp"); cfg->receive_root_directory = str_dup("/tmp"); @@ -373,6 +375,7 @@ static void test_file_send_single_calls_metadata_and_path() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/tmp"); cfg->receive_root_directory = str_dup("/tmp"); diff --git a/tests/test_file_sendfile.c b/tests/test_file_sendfile.c index 0bec4c4..430ed8e 100644 --- a/tests/test_file_sendfile.c +++ b/tests/test_file_sendfile.c @@ -24,6 +24,7 @@ static void test_sendfile_basic() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/tmp"); cfg->receive_root_directory = str_dup("/tmp"); @@ -84,6 +85,7 @@ static void test_sendfile_empty_file() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/tmp"); cfg->receive_root_directory = str_dup("/tmp"); @@ -167,6 +169,7 @@ static void test_sendfile_compression_fallback() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/tmp"); cfg->receive_root_directory = str_dup("/tmp"); diff --git a/tests/test_multiprocessing.c b/tests/test_multiprocessing.c index f847846..46a0331 100644 --- a/tests/test_multiprocessing.c +++ b/tests/test_multiprocessing.c @@ -16,6 +16,7 @@ static void test_sender_create_destroy() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup("1.0"); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/dst"); @@ -42,6 +43,7 @@ static void test_sender_create_destroy() { static void test_receiver_create_destroy() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup("2.0"); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/dst"); @@ -65,6 +67,7 @@ static void test_receiver_create_destroy() { static void test_sender_queue_capacities() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup("3.0"); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/dst"); @@ -83,6 +86,7 @@ static void test_sender_queue_capacities() { static void test_sender_zero_capacity() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup("4.0"); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/dst"); @@ -100,6 +104,7 @@ static void test_sender_zero_capacity() { static void test_receiver_fd_zero() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup("5.0"); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/dst"); @@ -115,6 +120,7 @@ static void test_receiver_fd_zero() { static void test_receive_thread_finished() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/tmp/dst"); @@ -166,6 +172,7 @@ static void test_receive_thread_finished() { static void test_write_thread_done() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/tmp/dst"); diff --git a/tests/test_server.c b/tests/test_server.c index eb49d49..9226e00 100644 --- a/tests/test_server.c +++ b/tests/test_server.c @@ -21,6 +21,7 @@ static void test_receive_files_finished() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/tmp/dst"); @@ -72,6 +73,7 @@ static void test_receive_files_single_file() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/tmp/dst"); @@ -133,6 +135,7 @@ static void test_receive_files_single_file() { static void test_receive_files_abort() { Config* cfg = config_create(); EXPECT_NOT_NULL(cfg); + free(cfg->version); cfg->version = str_dup(PROTOCOL_VERSION); cfg->send_directory = str_dup("/src"); cfg->receive_root_directory = str_dup("/tmp/dst");