From 476e896ba9169b4b71c1e80d3e44dd006934b3e5 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Sat, 23 Nov 2024 13:50:09 +0100 Subject: Kernel: Fix memory leaks and document the DLL dyld. Kernel: Document Drive manager of minoskrnl. Signed-off-by: Amlal EL Mahrouss --- dev/ZKAKit/src/IPEFDLLObject.cc | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'dev/ZKAKit/src/IPEFDLLObject.cc') diff --git a/dev/ZKAKit/src/IPEFDLLObject.cc b/dev/ZKAKit/src/IPEFDLLObject.cc index b72421d8..67150854 100644 --- a/dev/ZKAKit/src/IPEFDLLObject.cc +++ b/dev/ZKAKit/src/IPEFDLLObject.cc @@ -46,7 +46,6 @@ EXTERN_C IDLL rtl_init_dll(UserProcess* header) if (!dll_obj) { header->Crash(); - return nullptr; } @@ -54,22 +53,22 @@ EXTERN_C IDLL rtl_init_dll(UserProcess* header) if (!dll_obj->Get()) { + tls_delete_class(dll_obj); header->Crash(); - return nullptr; } - dll_obj->Get()->fImageObject = + dll_obj->Get()->ImageObject = header->Image.fBlob; - if (!dll_obj->Get()->fImageObject) + if (!dll_obj->Get()->ImageObject) { + tls_delete_class(dll_obj); header->Crash(); - return nullptr; } - dll_obj->Get()->fImageEntrypointOffset = + dll_obj->Get()->ImageEntrypointOffset = dll_obj->Load(kPefStart, rt_string_len(kPefStart, 0), kPefCode); return dll_obj; -- cgit v1.2.3