mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-06 02:55:49 +03:00
Kernel: Don't blindly dereference Process::executable()
When setting up profiling, don't assume that the profiled process has a valid executable.
This commit is contained in:
parent
9632388bed
commit
79e79ad1d2
Notes:
sideshowbarker
2024-07-19 09:02:36 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/79e79ad1d2f
@ -40,7 +40,6 @@ namespace Profiling {
|
||||
static KBufferImpl* s_profiling_buffer;
|
||||
static size_t s_slot_count;
|
||||
static size_t s_next_slot_index;
|
||||
static Process* s_process;
|
||||
static u32 s_pid;
|
||||
|
||||
String& executable_path()
|
||||
@ -58,9 +57,10 @@ u32 pid()
|
||||
|
||||
void start(Process& process)
|
||||
{
|
||||
s_process = &process;
|
||||
|
||||
executable_path() = process.executable()->absolute_path().impl();
|
||||
if (process.executable())
|
||||
executable_path() = process.executable()->absolute_path().impl();
|
||||
else
|
||||
executable_path() = {};
|
||||
s_pid = process.pid();
|
||||
|
||||
if (!s_profiling_buffer) {
|
||||
@ -87,7 +87,6 @@ Sample& next_sample_slot()
|
||||
|
||||
void stop()
|
||||
{
|
||||
s_process = nullptr;
|
||||
}
|
||||
|
||||
void did_exec(const String& new_executable_path)
|
||||
|
Loading…
Reference in New Issue
Block a user