From 2ef52990a817e4aa7d524c2985be2dce0a021574 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 31 Dec 2024 16:38:07 +0100 Subject: [PATCH] fix memory leak config load --- src/kds_s2000w_client.c | 6 ++++-- src/kds_s2000w_config.c | 1 + tests/kds_s2000w_net_tests.c | 7 +------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index bb61fd8..8641ce5 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -40,13 +40,15 @@ void _kds_s2000w_client_read_error_status(CURL* curl, response* resp) void _kds_s2000w_client_load_config() { - const char* config_file = CONFIG_FILE; - char* config_stream = read_config_file(config_file); + char* config_stream = read_config_file(CONFIG_FILE); if (config_stream == NULL) return; load_config(&p_config, config_stream); + + free(config_stream); + config_stream = NULL; } void _kds_s2000w_client_stream_to_response(FILE* stream, response* resp, size_t* size) diff --git a/src/kds_s2000w_config.c b/src/kds_s2000w_config.c index 8850a90..97c90fd 100644 --- a/src/kds_s2000w_config.c +++ b/src/kds_s2000w_config.c @@ -39,6 +39,7 @@ void load_config(program_config* config, const char* config_stream) config->scanner_url = NULL; config->username = NULL; config->heartbeat = 1; + config->ssl_verify = 0; cfg_t* cfg = NULL; char* value_str = NULL; diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 682ea3b..505cb1c 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -11,11 +11,7 @@ void __wrap_load_config(program_config* config, const char* config_stream) { - config->scanner_url = malloc(sizeof(char) * 28); - config->username = malloc(sizeof(char) * 4); - - config->scanner_url = "https://scanner.example.com\0"; - config->username = "Max\0"; + return; } void __wrap_wait_a_second() @@ -82,7 +78,6 @@ void kds_s2000w_net_get_select_fd() assert_int_equal(result, SANE_STATUS_UNSUPPORTED); } - void sane_kds_s2000w_net_start_cancel() { handler* h = init_handler(); -- 2.39.5