From f9d936b86561c23f5b40211254544b91e33eae7a Mon Sep 17 00:00:00 2001 From: Luca BRUNO Date: Mon, 8 Aug 2022 15:56:06 +0000 Subject: [PATCH] sysusers: properly process user entries with an explicit GID This tweaks user creation logic to properly take into consideration an explicitly requested GID. It fixes a bug where the creation flow would mistakenly fall back to use the username instead, resulting in wrong lookups in case of users and groups using the same name. (cherry picked from commit 5ed47c4d230b9491339c16c6ea4181dfd293bc98) --- src/sysusers/sysusers.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c index 77034abc8b..afbac4fb5e 100644 --- a/src/sysusers/sysusers.c +++ b/src/sysusers/sysusers.c @@ -1348,9 +1348,11 @@ static int process_item(Item *i) { switch (i->type) { case ADD_USER: { - Item *j; + Item *j = NULL; + + if (!i->gid_set) + j = ordered_hashmap_get(groups, i->group_name ?: i->name); - j = ordered_hashmap_get(groups, i->group_name ?: i->name); if (j && j->todo_group) { /* When a group with the target name is already in queue, * use the information about the group and do not create