From: Bastian Dehn Date: Sun, 5 Jan 2025 15:07:23 +0000 (+0100) Subject: free device info list by exit X-Git-Tag: v1.0.24^2~2 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=29f9171202e66f0cb46fcdf5a447923f3915e7fb;p=sane-kds-s2000w-net.git free device info list by exit --- diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 9e30552..5ab6486 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -14,6 +14,8 @@ #define MODEL "Kodak Alaris s2000w series" #define TYPE "sheetfed scanner" +SANE_Device** device_info_list = NULL; + SANE_Status _sane_kds_s2000w_net_init(SANE_Int* version_code, SANE_Auth_Callback authorize) { debug_printf(ALL, "sane_kds_s2000w_net_init"); @@ -26,6 +28,11 @@ SANE_Status _sane_kds_s2000w_net_init(SANE_Int* version_code, SANE_Auth_Callback void _sane_kds_s2000w_net_exit(void) { debug_printf(ALL, "sane_kds_s2000w_net_exit"); + + free(device_info_list[0]); + device_info_list[0] = NULL; + free(device_info_list); + device_info_list = NULL; } SANE_Status _sane_kds_s2000w_net_get_devices(SANE_Device*** device_list, @@ -36,13 +43,14 @@ SANE_Status _sane_kds_s2000w_net_get_devices(SANE_Device*** device_list, if (local_only) return SANE_STATUS_NO_MEM; - *device_list = malloc(sizeof(SANE_Device*) * 2); - device_list[0][0] = malloc(sizeof(SANE_Device)); - device_list[0][0]->name = NAME; - device_list[0][0]->vendor = VENDOR; - device_list[0][0]->model = MODEL; - device_list[0][0]->type = TYPE; - device_list[0][1] = NULL; + 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_list[1] = NULL; + *device_list = device_info_list; return SANE_STATUS_GOOD; }