summaryrefslogtreecommitdiffhomepage
path: root/dev/boot/src/New+Delete.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-01 10:40:19 +0200
committerGitHub <noreply@github.com>2025-04-01 10:40:19 +0200
commit48d0df78c872f7b843f2444a6bcfa41438dc736e (patch)
tree34c23cc3508114f3985289f6cb4e915454604426 /dev/boot/src/New+Delete.cc
parentf88f6074479c627529559f690bf836960d5a6378 (diff)
parent1c3b37123cef3fa9c69099bc6228d7b4a082ee90 (diff)
Merge pull request #5 from amlel-el-mahrouss/dev
pr/ahci: important patches.
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);
}