1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:47:35 +00:00

LibCore: Protect Core::Group against null group::gr_mem members

Serenity's implementation does not set this pointer to anything, so we
should not assume it was set.
This commit is contained in:
Timothy Flynn 2022-12-13 15:55:09 -05:00 committed by Tim Flynn
parent d09266237d
commit e305b32d9a

View file

@ -33,8 +33,10 @@ ErrorOr<DeprecatedString> Group::generate_group_file() const
builder.appendff("{}:x:{}:{}\n", m_name, m_id, DeprecatedString::join(',', m_members));
else {
Vector<DeprecatedString> 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<Vector<Group>> Group::all()
break;
Vector<DeprecatedString> 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;