]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
clear memory
authorBastian Dehn <hhaalo@arcor.de>
Sun, 21 Jan 2024 12:43:06 +0000 (13:43 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 21 Jan 2024 12:44:10 +0000 (13:44 +0100)
src/kds_s2000w_handler.c
src/kds_s2000w_net.c

index 3593273e2aa2487c823bbb7ceaf06ba7415d14a3..7a8b038e645f2f2ba989ce79800def1e22946bb5 100644 (file)
@@ -50,12 +50,14 @@ void kds_s2000w_handler_open()
        free(resp.data);
        resp.data = NULL;
        json_object_put(resObj);
+       resObj = NULL;
        curl_easy_cleanup(curl);
+       curl = NULL;
 }
 
 void kds_s2000w_handler_close()
 {
-       if (sessionid = 0)
+       if (sessionid == 0)
                return;
 
        CURL *curl = curl_easy_init();
@@ -73,5 +75,7 @@ void kds_s2000w_handler_close()
 
        sessionid = 0;
        curl_slist_free_all(headers);
+       headers = NULL;
        curl_easy_cleanup(curl);
+       curl = NULL;
 }
\ No newline at end of file
index c721e1eec14e501cdb61c8bdf0f3743b36aa5de1..ec69dead39550b54d52ba1fddd2fef85e81f3fbc 100644 (file)
@@ -4,6 +4,8 @@
 #include <sane/sane.h>
 #include "kds_s2000w_handler.h"
 
+SANE_Device* device;
+
 SANE_Status _sane_kds_s2000w_net_init(SANE_Int* version_code, SANE_Auth_Callback authorize)
 {
        *version_code = SANE_VERSION_CODE(1, 0, 0);
@@ -14,6 +16,8 @@ void _sane_kds_s2000w_net_exit(void)
 {
        printf("kds_s2000w_net exit\n");
        kds_s2000w_handler_close();
+       free(device);
+       device = NULL;
 }
 
 SANE_Status _sane_kds_s2000w_net_get_devices(SANE_Device*** device_list,
@@ -22,7 +26,7 @@ SANE_Status _sane_kds_s2000w_net_get_devices(SANE_Device*** device_list,
        if (local_only)
                return SANE_STATUS_NO_MEM;
 
-       SANE_Device* device = malloc(sizeof(SANE_Device));
+       device = malloc(sizeof(SANE_Device));
        device->name = "kds_s2000w_net";
        device->vendor = "Kodak";
        device->model = "Kodak Alaris s2000w series";
@@ -47,6 +51,7 @@ SANE_Status _sane_kds_s2000w_net_open(SANE_String_Const devicename,
 void _sane_kds_s2000w_net_close(SANE_Handle handle)
 {
        printf("kds_s2000w_net close\n");
+       kds_s2000w_handler_close();
 }
 
 const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor(