]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add descriptor no mem test first two
authorBastian Dehn <hhaalo@arcor.de>
Fri, 31 Oct 2025 16:03:18 +0000 (17:03 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Fri, 31 Oct 2025 16:03:18 +0000 (17:03 +0100)
src/kds_s2000w_option_descriptors.c
tests/kds_s2000w_option_descriptor_tests.c

index b4cc3e24298224ccf74a0bb820e7486ea3db890e..d98ade35c80aac46ca9c1311976298e13881709e 100644 (file)
@@ -1641,6 +1641,10 @@ SANE_Status _kds_s2000w_option_descriptors_init_full_profile()
        if (descriptors == NULL)
                return SANE_STATUS_NO_MEM;
 
+       for (int i = 0; i < max_option_count; i++) {
+               descriptors[i] = NULL;
+       }
+
        for (int i = 0; i < max_option_count; i++) {
                descriptors[i] = malloc(sizeof(option_descriptor_t));
                if (descriptors[i] == NULL) {
index 572338637f81e31a84f0ceaffd8bb26f84991322..55d49547688b3658314ba032f795b80f9c7c7f21 100644 (file)
@@ -867,6 +867,22 @@ void kds_s2000w_option_full_get_descriptor_over_max_options_test()
        assert_null(option);
 }
 
+void Kds_s2000w_option_init_descriptor_no_mem()
+{
+       kds_s2000w_option_descriptors_free();
+
+       set_no_mem_counter(0);
+       SANE_Status status = kds_s2000w_option_descriptors_init(PROFILE_FULL);
+
+       assert_int_equal(status, SANE_STATUS_NO_MEM);
+
+       status = 0;
+       set_no_mem_counter(1);
+       status = kds_s2000w_option_descriptors_init(PROFILE_FULL);
+
+       assert_int_equal(status, SANE_STATUS_NO_MEM);
+}
+
 int main()
 {
        const struct CMUnitTest option_descriptor_tests[] = {
@@ -922,6 +938,7 @@ int main()
                cmocka_unit_test(kds_s2000w_option_get_descriptor_over_max_options_test),
                cmocka_unit_test(kds_s2000w_option_full_get_descriptor_by_number),
                cmocka_unit_test(kds_s2000w_option_full_get_descriptor_over_max_options_test),
+               cmocka_unit_test(Kds_s2000w_option_init_descriptor_no_mem)
        };
 
        return cmocka_run_group_tests(option_descriptor_tests, setup, teardown);