From db0c6bda678617f570d1af584e529058c2685f5d Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Sat, 8 Feb 2025 15:48:37 -0600 Subject: [PATCH] Bugfix: The uid_t and gid_t should be initialized to -1 and not 0. --- level_0/f_account/c/account/common.h | 8 ++++---- level_0/f_account/tests/unit/c/test-account-by_id.c | 4 ++-- level_0/f_account/tests/unit/c/test-account-group_id_by_name.c | 6 +++--- level_0/f_account/tests/unit/c/test-account-group_name_by_id.c | 6 +++--- level_0/f_account/tests/unit/c/test-account-id_by_name.c | 6 +++--- level_0/f_account/tests/unit/c/test-account-name_by_id.c | 6 +++--- level_0/f_capability/tests/unit/c/test-capability-owner_set.c | 4 ++-- level_0/f_capability/tests/unit/c/test-capability-user_set.c | 4 ++-- level_0/f_file/tests/unit/c/test-file-group_read.c | 6 +++--- level_3/fake/c/private-make-operate_process_type.c | 8 ++++---- level_3/fake/c/private-make-operate_validate_type.c | 4 ++-- 11 files changed, 31 insertions(+), 31 deletions(-) diff --git a/level_0/f_account/c/account/common.h b/level_0/f_account/c/account/common.h index 8e980a7..c1d732a 100644 --- a/level_0/f_account/c/account/common.h +++ b/level_0/f_account/c/account/common.h @@ -52,8 +52,8 @@ extern "C" { } f_account_t; #define f_account_t_initialize { \ - 0, \ - 0, \ + -1, \ + -1, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ @@ -62,8 +62,8 @@ extern "C" { } #define macro_f_account_t_clear(account) \ - account.id_user = 0; \ - account.id_group = 0; \ + account.id_user = -1; \ + account.id_group = -1; \ macro_f_account_t_clear(account.home); \ macro_f_account_t_clear(account.label); \ macro_f_account_t_clear(account.name); \ diff --git a/level_0/f_account/tests/unit/c/test-account-by_id.c b/level_0/f_account/tests/unit/c/test-account-by_id.c index 317ba11..9c0e3e2 100644 --- a/level_0/f_account/tests/unit/c/test-account-by_id.c +++ b/level_0/f_account/tests/unit/c/test-account-by_id.c @@ -8,7 +8,7 @@ extern "C" { void test__f_account_by_id__fails(void **state) { const long size = 20; - uid_t uid = 0; + uid_t uid = -1; f_account_t account = f_account_t_initialize; int errnos[] = { @@ -49,7 +49,7 @@ void test__f_account_by_id__not_found(void **state) { const long size = 20; struct passwd password; - uid_t uid = 0; + uid_t uid = -1; f_account_t account = f_account_t_initialize; { diff --git a/level_0/f_account/tests/unit/c/test-account-group_id_by_name.c b/level_0/f_account/tests/unit/c/test-account-group_id_by_name.c index 1700f45..932754e 100644 --- a/level_0/f_account/tests/unit/c/test-account-group_id_by_name.c +++ b/level_0/f_account/tests/unit/c/test-account-group_id_by_name.c @@ -8,7 +8,7 @@ extern "C" { void test__f_account_group_id_by_name__fails(void **state) { const long size = 20; - gid_t gid = 0; + gid_t gid = -1; f_string_t name_string = "name"; f_string_static_t name = f_string_static_t_initialize; @@ -51,7 +51,7 @@ void test__f_account_group_id_by_name__not_found(void **state) { const long size = 20; struct group group_data; - gid_t gid = 0; + gid_t gid = -1; f_string_t name_string = "name"; f_string_static_t name = f_string_static_t_initialize; @@ -87,7 +87,7 @@ void test__f_account_group_id_by_name__works(void **state) { struct group group_data; struct group pointer; char *pointers[] = { "gr_mem", 0 }; - gid_t gid = 0; + gid_t gid = -1; f_string_static_t name = f_string_static_t_initialize; diff --git a/level_0/f_account/tests/unit/c/test-account-group_name_by_id.c b/level_0/f_account/tests/unit/c/test-account-group_name_by_id.c index 3009313..d599a10 100644 --- a/level_0/f_account/tests/unit/c/test-account-group_name_by_id.c +++ b/level_0/f_account/tests/unit/c/test-account-group_name_by_id.c @@ -8,7 +8,7 @@ extern "C" { void test__f_account_group_name_by_id__fails(void **state) { const long size = 20; - gid_t gid = 0; + gid_t gid = -1; f_string_dynamic_t name = f_string_dynamic_t_initialize; int errnos[] = { @@ -49,7 +49,7 @@ void test__f_account_group_name_by_id__not_found(void **state) { const long size = 20; struct group group_data; - gid_t gid = 0; + gid_t gid = -1; f_string_dynamic_t name = f_string_dynamic_t_initialize; { @@ -81,7 +81,7 @@ void test__f_account_group_name_by_id__works(void **state) { struct group group_data; struct group pointer; char *pointers[] = { "gr_mem", 0 }; - gid_t gid = 0; + gid_t gid = -1; f_string_dynamic_t name = f_string_dynamic_t_initialize; group_data.gr_gid = 1; diff --git a/level_0/f_account/tests/unit/c/test-account-id_by_name.c b/level_0/f_account/tests/unit/c/test-account-id_by_name.c index 2d71032..8eeaaf3 100644 --- a/level_0/f_account/tests/unit/c/test-account-id_by_name.c +++ b/level_0/f_account/tests/unit/c/test-account-id_by_name.c @@ -8,7 +8,7 @@ extern "C" { void test__f_account_id_by_name__fails(void **state) { const long size = 20; - uid_t uid = 0; + uid_t uid = -1; f_string_t name_string = "name"; f_string_static_t name = f_string_static_t_initialize; @@ -51,7 +51,7 @@ void test__f_account_id_by_name__not_found(void **state) { const long size = 20; struct passwd password; - uid_t uid = 0; + uid_t uid = -1; f_string_t name_string = "name"; f_string_static_t name = f_string_static_t_initialize; @@ -86,7 +86,7 @@ void test__f_account_id_by_name__works(void **state) { const long size = 20; struct passwd password; struct passwd pointer; - uid_t uid = 0; + uid_t uid = -1; f_string_static_t name = f_string_static_t_initialize; diff --git a/level_0/f_account/tests/unit/c/test-account-name_by_id.c b/level_0/f_account/tests/unit/c/test-account-name_by_id.c index e8bf6d9..ef3f012 100644 --- a/level_0/f_account/tests/unit/c/test-account-name_by_id.c +++ b/level_0/f_account/tests/unit/c/test-account-name_by_id.c @@ -8,7 +8,7 @@ extern "C" { void test__f_account_name_by_id__fails(void **state) { const long size = 20; - uid_t uid = 0; + uid_t uid = -1; f_string_dynamic_t name = f_string_dynamic_t_initialize; int errnos[] = { @@ -49,7 +49,7 @@ void test__f_account_name_by_id__not_found(void **state) { const long size = 20; struct passwd password; - uid_t uid = 0; + uid_t uid = -1; f_string_dynamic_t name = f_string_dynamic_t_initialize; { @@ -80,7 +80,7 @@ void test__f_account_name_by_id__works(void **state) { const long size = 20; struct passwd password; struct passwd pointer; - uid_t uid = 0; + uid_t uid = -1; f_string_dynamic_t name = f_string_dynamic_t_initialize; password.pw_uid = 1; diff --git a/level_0/f_capability/tests/unit/c/test-capability-owner_set.c b/level_0/f_capability/tests/unit/c/test-capability-owner_set.c index 74334f2..c45f695 100644 --- a/level_0/f_capability/tests/unit/c/test-capability-owner_set.c +++ b/level_0/f_capability/tests/unit/c/test-capability-owner_set.c @@ -9,7 +9,7 @@ void test__f_capability_owner_set__fails(void **state) { #if !defined(_di_libcap_) && !defined(_libcap_legacy_only_) const f_capability_t capability = f_capability_t_initialize; - const uid_t id; + const uid_t id = -1; int errnos[] = { EACCES, @@ -50,7 +50,7 @@ void test__f_capability_owner_set__fails(void **state) { void test__f_capability_owner_set__works(void **state) { const f_capability_t capability = f_capability_t_initialize; - const uid_t id = 0; + const uid_t id = -1; #if defined(_di_libcap_) || defined(_libcap_legacy_only_) printf("[ WARN ] f_capability_owner_set() is not implemented and cannot be fully tested.\n"); diff --git a/level_0/f_capability/tests/unit/c/test-capability-user_set.c b/level_0/f_capability/tests/unit/c/test-capability-user_set.c index 038eba3..0de3ae2 100644 --- a/level_0/f_capability/tests/unit/c/test-capability-user_set.c +++ b/level_0/f_capability/tests/unit/c/test-capability-user_set.c @@ -7,7 +7,7 @@ extern "C" { void test__f_capability_user_set__works(void **state) { - const uid_t uid = 0; + const uid_t uid = -1; #if defined(_di_libcap_) || defined(_libcap_legacy_only_) printf("[ WARN ] f_capability_user_set() is not implemented and cannot be fully tested.\n"); @@ -29,7 +29,7 @@ void test__f_capability_user_set__works(void **state) { void test__f_capability_user_set__fails(void **state) { #if !defined(_di_libcap_) && !defined(_libcap_legacy_only_) - const uid_t uid = 0; + const uid_t uid = -1; int errnos[] = { EINVAL, diff --git a/level_0/f_file/tests/unit/c/test-file-group_read.c b/level_0/f_file/tests/unit/c/test-file-group_read.c index 516de7c..7c7f5e9 100644 --- a/level_0/f_file/tests/unit/c/test-file-group_read.c +++ b/level_0/f_file/tests/unit/c/test-file-group_read.c @@ -35,7 +35,7 @@ void test__f_file_group_read__fails(void **state) { for (int i = 0; i < 9; ++i) { - gid_t id = 0; + gid_t id = -1; will_return(__wrap_stat, true); will_return(__wrap_stat, errnos[i]); @@ -58,7 +58,7 @@ void test__f_file_group_read__parameter_checking(void **state) { void test__f_file_group_read__returns_data_not(void **state) { { - gid_t id = 0; + gid_t id = -1; const f_status_t status = f_file_group_read(f_string_empty_s, F_false, &id); @@ -71,7 +71,7 @@ void test__f_file_group_read__works(void **state) { const f_string_static_t path = macro_f_string_static_t_initialize("test", 0, 4); { - gid_t id = 0; + gid_t id = -1; struct stat statistics; diff --git a/level_3/fake/c/private-make-operate_process_type.c b/level_3/fake/c/private-make-operate_process_type.c index cf9bf1a..2a081f7 100644 --- a/level_3/fake/c/private-make-operate_process_type.c +++ b/level_3/fake/c/private-make-operate_process_type.c @@ -545,7 +545,7 @@ extern "C" { f_status_t status = F_none; - gid_t id = 0; + gid_t id = -1; bool dereference = F_true; f_array_length_t i = 0; @@ -958,7 +958,7 @@ extern "C" { f_status_t fake_make_operate_process_type_if_group(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { f_status_t status = F_none; - uid_t id = 0; + uid_t id = -1; f_array_length_t i = if_not ? 2 : 1; bool dereference = F_true; @@ -1105,7 +1105,7 @@ extern "C" { f_status_t fake_make_operate_process_type_if_owner(fake_make_data_t * const data_make, const bool if_not, fake_state_process_t *state_process) { f_status_t status = F_none; - uid_t id = 0; + uid_t id = -1; f_array_length_t i = if_not ? 2 : 1; bool dereference = F_true; @@ -1558,7 +1558,7 @@ extern "C" { #ifndef _di_fake_make_operate_process_type_owners_ f_status_t fake_make_operate_process_type_owners(fake_make_data_t * const data_make, const bool all) { - uid_t id = 0; + uid_t id = -1; bool dereference = F_true; f_array_length_t i = 0; diff --git a/level_3/fake/c/private-make-operate_validate_type.c b/level_3/fake/c/private-make-operate_validate_type.c index 2b7c71c..6b7c265 100644 --- a/level_3/fake/c/private-make-operate_validate_type.c +++ b/level_3/fake/c/private-make-operate_validate_type.c @@ -535,7 +535,7 @@ extern "C" { i = ++k; } else if (state_process->condition == fake_make_operation_if_type_if_group_e || state_process->condition == fake_make_operation_if_type_if_not_group_e) { - gid_t id = 0; + gid_t id = -1; if (F_status_is_error(fake_make_get_id_group(data_make->data, data_make->error, data_make->cache_arguments.array[k++], &id))) { return F_status_set_error(F_failure); @@ -598,7 +598,7 @@ extern "C" { if (type_file & 0x80) return F_status_set_error(F_failure); } else if (state_process->condition == fake_make_operation_if_type_if_owner_e || state_process->condition == fake_make_operation_if_type_if_not_owner_e) { - uid_t id = 0; + uid_t id = -1; if (F_status_is_error(fake_make_get_id_owner(data_make->data, data_make->error, data_make->cache_arguments.array[k++], &id))) { return F_status_set_error(F_failure); -- 1.8.3.1