diff --git a/Userland/Libraries/LibCore/Group.cpp b/Userland/Libraries/LibCore/Group.cpp index 6dc3c172a3..66df15e2d6 100644 --- a/Userland/Libraries/LibCore/Group.cpp +++ b/Userland/Libraries/LibCore/Group.cpp @@ -33,8 +33,10 @@ ErrorOr Group::generate_group_file() const builder.appendff("{}:x:{}:{}\n", m_name, m_id, DeprecatedString::join(',', m_members)); else { Vector members; - for (size_t i = 0; group->gr_mem[i]; ++i) - members.append(group->gr_mem[i]); + if (group->gr_mem) { + for (size_t i = 0; group->gr_mem[i]; ++i) + members.append(group->gr_mem[i]); + } builder.appendff("{}:x:{}:{}\n", group->gr_name, group->gr_gid, DeprecatedString::join(',', members)); } @@ -129,10 +131,12 @@ ErrorOr> Group::all() break; Vector members; - for (size_t i = 0; group->gr_mem[i]; ++i) - members.append(group->gr_mem[i]); + if (group->gr_mem) { + for (size_t i = 0; group->gr_mem[i]; ++i) + members.append(group->gr_mem[i]); + } - groups.append({ group->gr_name, group->gr_gid, members }); + groups.append({ group->gr_name, group->gr_gid, move(members) }); } return groups;