From: Luca BRUNO Date: Mon, 8 Aug 2022 15:56:06 +0000 (+0000) Subject: sysusers: properly process user entries with an explicit GID X-Git-Tag: v252-rc1~489 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5ed47c4d230b9491339c16c6ea4181dfd293bc98;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c index 9444244d29c..901e8aaf02e 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