1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:57:44 +00:00

Userland: Fix null-pointer deref on unknown user/group in chown/chgrp

We can't just blindly dereference the result of getpwnam()/getgrnam()!

Fixes #1625.
This commit is contained in:
Andreas Kling 2020-04-04 19:29:30 +02:00
parent 54cb1e36b6
commit 040ba77d44
2 changed files with 11 additions and 11 deletions

View file

@ -56,12 +56,12 @@ int main(int argc, char** argv)
new_gid = gid_arg.to_uint(ok);
if (!ok) {
new_gid = getgrnam(gid_arg.characters())->gr_gid;
if(!new_gid) {
fprintf(stderr, "Invalid gid: '%s'\n", gid_arg.characters());
auto* group = getgrnam(gid_arg.characters());
if (!group) {
fprintf(stderr, "Unknown group '%s'\n", gid_arg.characters());
return 1;
}
new_gid = group->gr_gid;
}
int rc = chown(argv[2], -1, new_gid);