summaryrefslogtreecommitdiffhomepage
path: root/dev/boot/src/New+Delete.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-01 10:38:27 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-01 10:38:27 +0200
commit1c3b37123cef3fa9c69099bc6228d7b4a082ee90 (patch)
tree34c23cc3508114f3985289f6cb4e915454604426 /dev/boot/src/New+Delete.cc
parentcb4d1fbb3a8f31641147f43375c7d66f693ef3ea (diff)
ahci, boot: bump, and working on a patch.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/boot/src/New+Delete.cc')
-rw-r--r--dev/boot/src/New+Delete.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/dev/boot/src/New+Delete.cc b/dev/boot/src/New+Delete.cc
index b7941e29..b9982923 100644
--- a/dev/boot/src/New+Delete.cc
+++ b/dev/boot/src/New+Delete.cc
@@ -19,7 +19,7 @@ void* operator new(size_t sz)
void* buf = nullptr;
while (BS->AllocatePool(EfiMemoryType::EfiLoaderData, sz, &buf) != kEfiOk)
- BS->FreePool(buf);
+ ;
return buf;
}
@@ -39,6 +39,9 @@ void* operator new[](size_t sz)
/// @param buf the object.
void operator delete(void* buf)
{
+ if (!buf)
+ return;
+
BS->FreePool(buf);
}
@@ -46,6 +49,9 @@ void operator delete(void* buf)
/// @param buf the object.
void operator delete[](void* buf)
{
+ if (!buf)
+ return;
+
BS->FreePool(buf);
}
@@ -54,6 +60,9 @@ void operator delete[](void* buf)
/// @param size it's size.
void operator delete(void* buf, size_t size)
{
+ if (!buf)
+ return;
+
BS->FreePool(buf);
}