summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--dev/ZKA/KernelKit/ThreadLocalStorage.inl7
-rw-r--r--dev/ZKA/Sources/PEFCodeManager.cxx9
2 files changed, 7 insertions, 9 deletions
diff --git a/dev/ZKA/KernelKit/ThreadLocalStorage.inl b/dev/ZKA/KernelKit/ThreadLocalStorage.inl
index a5bb1adb..56244537 100644
--- a/dev/ZKA/KernelKit/ThreadLocalStorage.inl
+++ b/dev/ZKA/KernelKit/ThreadLocalStorage.inl
@@ -4,14 +4,15 @@
------------------------------------------- */
-//! @brief Allocates a pointer from the process's tls.
+//! @file ThreadLocalStorage.inl
+//! @brief Allocate resources from the process's heap storage.
#ifndef _INC_PROCESS_SCHEDULER_HXX_
#include <KernelKit/ProcessScheduler.hxx>
#endif
template <typename T>
-inline T* tls_new_ptr(void)
+inline T* tls_new_ptr(void) noexcept
{
using namespace Kernel;
@@ -25,7 +26,7 @@ inline T* tls_new_ptr(void)
//! @brief TLS delete implementation.
template <typename T>
-inline Kernel::Bool tls_delete_ptr(T* ptr)
+inline Kernel::Bool tls_delete_ptr(T* ptr) noexcept
{
if (!ptr)
return false;
diff --git a/dev/ZKA/Sources/PEFCodeManager.cxx b/dev/ZKA/Sources/PEFCodeManager.cxx
index 02303e1c..365f01c2 100644
--- a/dev/ZKA/Sources/PEFCodeManager.cxx
+++ b/dev/ZKA/Sources/PEFCodeManager.cxx
@@ -102,15 +102,12 @@ namespace Kernel
VoidPtr PEFLoader::FindSymbol(const Char* name, Int32 kind)
{
- if (!fCachedBlob || fBad)
+ if (!fCachedBlob || fBad || !name)
return nullptr;
PEFContainer* container = reinterpret_cast<PEFContainer*>(fCachedBlob);
- StringView cPefHeaderStr;
- cPefHeaderStr += name;
-
- auto blob = fFile->Read(cPefHeaderStr.CData());
+ auto blob = fFile->Read(name);
PEFCommandHeader* container_header = reinterpret_cast<PEFCommandHeader*>(blob);
@@ -205,7 +202,7 @@ namespace Kernel
if (errOrStart.Error() != 0)
return false;
- PROCESS_HEADER_BLOCK proc(errOrStart.Leak().Leak());
+ PROCESS_HEADER_BLOCK proc(errOrStart.Leak().Leak());
Ref<PROCESS_HEADER_BLOCK> refProc = proc;
proc.Kind = procKind;