From 1e3cf0c7389afeac8131a7898316951155a6eda3 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 14 Jan 2025 20:20:01 +0100 Subject: [PATCH] change device list seperate pointer with free --- src/kds_s2000w_net.c | 14 +++++++++----- tests/kds_s2000w_net_tests.c | 4 ---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index c746a14..9cb1b53 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -11,6 +11,7 @@ #define TYPE "sheetfed scanner" SANE_Device** device_info_list = NULL; +SANE_Device* device_info = NULL; SANE_Status _sane_kds_s2000w_net_init(SANE_Int* version_code, SANE_Auth_Callback authorize) { @@ -25,6 +26,8 @@ void _sane_kds_s2000w_net_exit(void) { debug_printf(ALL, "sane_kds_s2000w_net_exit"); + free(device_info); + device_info = NULL; free(device_info_list); device_info_list = NULL; } @@ -38,11 +41,12 @@ SANE_Status _sane_kds_s2000w_net_get_devices(SANE_Device*** device_list, return SANE_STATUS_NO_MEM; device_info_list = malloc(sizeof(SANE_Device*) * 2); - device_info_list[0] = malloc(sizeof(SANE_Device)); - device_info_list[0]->name = NAME; - device_info_list[0]->vendor = VENDOR; - device_info_list[0]->model = MODEL; - device_info_list[0]->type = TYPE; + device_info = malloc(sizeof(SANE_Device)); + device_info->name = NAME; + device_info->vendor = VENDOR; + device_info->model = MODEL; + device_info->type = TYPE; + device_info_list[0] = device_info; device_info_list[1] = NULL; *device_list = device_info_list; diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index e0b3f1b..769069d 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -19,10 +19,6 @@ void kds_s2000w_net_get_devices() assert_string_equal(device_list[0][0]->type, "sheetfed scanner"); assert_null(device_list[0][1]); - free(device_list[0][0]); - device_list[0][0] = NULL; - free(device_list[0]); - device_list[0] = NULL; free(device_list); device_list = NULL; } -- 2.39.5