From: Bastian Dehn Date: Sun, 9 Nov 2025 06:53:53 +0000 (+0100) Subject: fix load config no mem X-Git-Tag: v1.1.21^2~16 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=4f0b671b42911d70c033581de7ff1f18e76342fc;p=sane-kds-s2000w-net.git fix load config no mem --- diff --git a/src/kds_s2000w_config.c b/src/kds_s2000w_config.c index 9fe937e..14d0c67 100644 --- a/src/kds_s2000w_config.c +++ b/src/kds_s2000w_config.c @@ -107,10 +107,24 @@ program_config_t* kds_s2000w_config_load(const char* config_string) free(config->scanner_url); config->scanner_url = NULL; config->scanner_url = _kds_s2000w_config_copy_config_string(cfg, SCANNER_URL); + if (config->scanner_url == NULL) { + cfg_free(cfg); + cfg = NULL; + kds_s2000w_config_free(config); + config = NULL; + return NULL; + } free(config->username); config->username = NULL; config->username = _kds_s2000w_config_copy_config_string(cfg, USERNAME); + if (config->username == NULL) { + cfg_free(cfg); + cfg = NULL; + kds_s2000w_config_free(config); + config = NULL; + return NULL; + } config->log_level = cfg_getint(cfg, DEFAULT_LOG_LEVEL); config->heartbeat = cfg_getint(cfg, HEARTBEAT_SECONDS); diff --git a/tests/kds_s2000w_read_config_tests.c b/tests/kds_s2000w_read_config_tests.c index 0dd07b1..ffe21b3 100644 --- a/tests/kds_s2000w_read_config_tests.c +++ b/tests/kds_s2000w_read_config_tests.c @@ -141,7 +141,7 @@ void kds_s2000w_config_profile_test() void kds_s2000w_config_load_no_mem_test() { - for (int16_t i = 0; i < 3; i++) { + for (int16_t i = 0; i < 5; i++) { _kds_s2000w_config_load_no_mem(i); } }