mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-25 17:15:44 +00:00
Kernel: Fix sys$waitid(P_ALL, WNOHANG) return value
According to POSIX, waitid() should fill si_signo and si_pid members with zeroes if there are no children that have already changed their state by the time of the call. Let's just fill the whole structure with zeroes to avoid leaking kernel memory.
This commit is contained in:
@@ -2314,7 +2314,7 @@ KResultOr<siginfo_t> Process::do_waitid(idtype_t idtype, int id, int options)
|
||||
// FIXME: Figure out what WNOHANG should do with stopped children.
|
||||
if (idtype == P_ALL) {
|
||||
InterruptDisabler disabler;
|
||||
siginfo_t siginfo;
|
||||
siginfo_t siginfo = { 0 };
|
||||
for_each_child([&siginfo](Process& process) {
|
||||
if (process.is_dead())
|
||||
siginfo = reap(process);
|
||||
|
||||
Reference in New Issue
Block a user