From e2ce7d7a1b37824b6939c68a931e0f6e537d760a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 19 Oct 2025 20:09:25 +0200 Subject: fix: kernel: Fix memory leak in DiskSwap.cc Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/Swap/DiskSwap.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'dev/kernel/src') diff --git a/dev/kernel/src/Swap/DiskSwap.cc b/dev/kernel/src/Swap/DiskSwap.cc index b9cfaf77..99efb2c0 100644 --- a/dev/kernel/src/Swap/DiskSwap.cc +++ b/dev/kernel/src/Swap/DiskSwap.cc @@ -54,7 +54,10 @@ SWAP_DISK_HEADER* DiskSwapInterface::Read(const Char* fork_name, SizeT fork_name VoidPtr blob = file.Read(fork_name, sizeof(SWAP_DISK_HEADER) + data_len); - if (!blob || ((SWAP_DISK_HEADER*)blob)->fMagic != kSwapDiskHeaderMagic) return nullptr; + if (!blob || ((SWAP_DISK_HEADER*) blob)->fMagic != kSwapDiskHeaderMagic) { + if (blob) mm_free_ptr(blob); + return nullptr; + } return reinterpret_cast(blob); } -- cgit v1.2.3