summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/IPEFDylibObject.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel/src/IPEFDylibObject.cc')
-rw-r--r--dev/Kernel/src/IPEFDylibObject.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/dev/Kernel/src/IPEFDylibObject.cc b/dev/Kernel/src/IPEFDylibObject.cc
index 4824cca1..e994ad29 100644
--- a/dev/Kernel/src/IPEFDylibObject.cc
+++ b/dev/Kernel/src/IPEFDylibObject.cc
@@ -56,6 +56,8 @@ EXTERN_C IDylibRef rtl_init_dylib(UserProcess& process)
if (!dll_obj->Get())
{
tls_delete_class(dll_obj);
+ dll_obj = nullptr;
+
process.Crash();
return nullptr;
@@ -66,7 +68,11 @@ EXTERN_C IDylibRef rtl_init_dylib(UserProcess& process)
if (!dll_obj->Get()->ImageObject)
{
+ delete dll_obj->Get();
+
tls_delete_class(dll_obj);
+ dll_obj = nullptr;
+
process.Crash();
return nullptr;