mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 18:37:58 +03:00
LibCore: Add syscall wrappers for setuid/seteuid/setgid/setegid
This commit is contained in:
parent
8bb9fe63b7
commit
2c3699e257
Notes:
sideshowbarker
2024-07-17 22:42:04 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/2c3699e257f
@ -388,4 +388,32 @@ ErrorOr<pid_t> waitpid(pid_t waitee, int* wstatus, int options)
|
||||
return pid;
|
||||
}
|
||||
|
||||
ErrorOr<void> setuid(uid_t uid)
|
||||
{
|
||||
if (::setuid(uid) < 0)
|
||||
return Error::from_syscall("setuid"sv, -errno);
|
||||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<void> seteuid(uid_t uid)
|
||||
{
|
||||
if (::setuid(uid) < 0)
|
||||
return Error::from_syscall("seteuid"sv, -errno);
|
||||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<void> setgid(gid_t gid)
|
||||
{
|
||||
if (::setgid(gid) < 0)
|
||||
return Error::from_syscall("setgid"sv, -errno);
|
||||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<void> setegid(gid_t gid)
|
||||
{
|
||||
if (::setgid(gid) < 0)
|
||||
return Error::from_syscall("setegid"sv, -errno);
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -55,5 +55,9 @@ ErrorOr<struct group> getgrnam(StringView name);
|
||||
ErrorOr<void> clock_settime(clockid_t clock_id, struct timespec* ts);
|
||||
ErrorOr<pid_t> posix_spawnp(StringView const path, posix_spawn_file_actions_t* const file_actions, posix_spawnattr_t* const attr, char* const arguments[], char* const envp[]);
|
||||
ErrorOr<pid_t> waitpid(pid_t waitee, int* wstatus, int options);
|
||||
ErrorOr<void> setuid(uid_t);
|
||||
ErrorOr<void> seteuid(uid_t);
|
||||
ErrorOr<void> setgid(gid_t);
|
||||
ErrorOr<void> setegid(gid_t);
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user