mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
Fix null deref in contextSwitch().
This commit is contained in:
parent
2f99ff801e
commit
dd6706a1a1
Notes:
sideshowbarker
2024-07-19 18:46:02 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/dd6706a1a1d
1 changed files with 10 additions and 7 deletions
|
@ -360,14 +360,17 @@ static bool contextSwitch(Task* t)
|
|||
if (current == t)
|
||||
return false;
|
||||
|
||||
// If the last task hasn't blocked (still marked as running),
|
||||
// mark it as runnable for the next round.
|
||||
if (current->state() == Task::Running)
|
||||
current->setState(Task::Runnable);
|
||||
if (current) {
|
||||
// If the last task hasn't blocked (still marked as running),
|
||||
// mark it as runnable for the next round.
|
||||
if (current->state() == Task::Running)
|
||||
current->setState(Task::Runnable);
|
||||
|
||||
bool success = MemoryManager::the().unmapRegionsForTask(*current);
|
||||
ASSERT(success);
|
||||
success = MemoryManager::the().mapRegionsForTask(*t);
|
||||
bool success = MemoryManager::the().unmapRegionsForTask(*current);
|
||||
ASSERT(success);
|
||||
}
|
||||
|
||||
bool success = MemoryManager::the().mapRegionsForTask(*t);
|
||||
ASSERT(success);
|
||||
|
||||
current = t;
|
||||
|
|
Loading…
Reference in a new issue