Kernel: Avoid null dereference in sys$profiling_disable()

If we can't create a profiling coredump object, we shouldn't try to
call write() on it.
This commit is contained in:
Andreas Kling 2020-12-15 11:25:51 +01:00
parent be0816507a
commit 4befc2c282
Notes: sideshowbarker 2024-07-19 00:49:17 +09:00

View file

@ -60,8 +60,10 @@ int Process::sys$profiling_disable(pid_t pid)
// We explicitly unlock here because we can't hold the lock when writing the coredump VFS
lock.unlock();
auto coredump = CoreDump::create(*process, String::formatted("/tmp/profiler_coredumps/{}", pid));
coredump->write();
if (auto coredump = CoreDump::create(*process, String::formatted("/tmp/profiler_coredumps/{}", pid)))
coredump->write();
else
dbgln("Unable to create profiler coredump for PID {}", pid);
return 0;
}