From fe3607d4e805ec95623138d26489372315da7161 Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jeremy@system76.com> Date: Fri, 6 Dec 2019 19:54:54 -0700 Subject: [PATCH] ld_so: Zero mapped memory and panic on unsupported relocation --- src/ld_so/linker.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index 7604eba0..fdedf2c2 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -193,6 +193,7 @@ impl Linker { { return Err(Error::Malformed(format!("failed to map {}", elf_name))); } + ptr::write_bytes(ptr as *mut u8, 0, size); slice::from_raw_parts_mut(ptr as *mut u8, size) }; println!(" mmap {:p}, {:#x}", mmap.as_mut_ptr(), mmap.len()); @@ -404,7 +405,7 @@ impl Linker { } reloc::R_X86_64_IRELATIVE => (), // Handled below _ => { - println!( + panic!( " {} unsupported", reloc::r_to_str(rel.r_type, elf.header.e_machine) ); -- GitLab