From 5ed47c4d230b9491339c16c6ea4181dfd293bc98 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. --- 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 9444244d29..901e8aaf02 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