From e45ec784b729953406aeb0c4b4ffa0c1fc47d562 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 5 Mar 2026 13:02:52 +0700 Subject: [PATCH] Fix dynamic linker hitting unwrap --- src/ld_so/linker.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index cae48f49b5..b6e7013034 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -561,12 +561,11 @@ impl Linker { let _ = self.objects.remove(&obj.id).unwrap(); for dep in obj.dependencies() { - self.unload(ObjectHandle::new( - self.objects - .get(self.name_to_object_id_map.get(*dep).unwrap()) - .unwrap() - .clone(), - )); + if let Some(name) = self.name_to_object_id_map.get(*dep) { + if let Some(object_name) = self.objects.get(name) { + self.unload(ObjectHandle::new(object_name.clone())); + } + } } self.name_to_object_id_map.remove(&obj.name); assert!(Arc::strong_count(&obj) == 1);