Kernel: Make Region weakable and use WeakPtr<Region> instead of Region*

This turns use-after-free bugs into null pointer dereferences instead.
This commit is contained in:
Andreas Kling 2020-02-24 13:24:30 +01:00
commit 30a8991dbf
Notes: sideshowbarker 2024-07-19 09:05:16 +09:00
5 changed files with 14 additions and 8 deletions

View file

@ -31,6 +31,7 @@
#include <AK/InlineLinkedList.h>
#include <AK/NonnullOwnPtrVector.h>
#include <AK/String.h>
#include <AK/WeakPtr.h>
#include <Kernel/FileSystem/InodeMetadata.h>
#include <Kernel/Forward.h>
#include <Kernel/Lock.h>
@ -479,7 +480,7 @@ private:
NonnullOwnPtrVector<Region> m_regions;
struct RegionLookupCache {
Range range;
Region* region { nullptr };
WeakPtr<Region> region;
};
RegionLookupCache m_region_lookup_cache;