Ver Fonte

Always zero mmap'd memory

Jeremy Soller há 5 anos atrás
pai
commit
4818ad61ab
2 ficheiros alterados com 2 adições e 0 exclusões
  1. 1 0
      src/ld_so/tcb.rs
  2. 1 0
      src/platform/pte.rs

+ 1 - 0
src/ld_so/tcb.rs

@@ -156,6 +156,7 @@ impl Tcb {
         {
         {
             return Err(Error::Malformed(format!("failed to map tls")));
             return Err(Error::Malformed(format!("failed to map tls")));
         }
         }
+        ptr::write_bytes(ptr as *mut u8, 0, size);
         Ok(slice::from_raw_parts_mut(ptr as *mut u8, size))
         Ok(slice::from_raw_parts_mut(ptr as *mut u8, size))
     }
     }
 
 

+ 1 - 0
src/platform/pte.rs

@@ -116,6 +116,7 @@ pub unsafe extern "C" fn pte_osThreadCreate(
     if stack_base as isize == -1 {
     if stack_base as isize == -1 {
         return PTE_OS_GENERAL_FAILURE;
         return PTE_OS_GENERAL_FAILURE;
     }
     }
+    ptr::write_bytes(stack_base as *mut u8, 0, stack_size);
     let stack_end = stack_base.add(stack_size);
     let stack_end = stack_base.add(stack_size);
     let mut stack = stack_end as *mut usize;
     let mut stack = stack_end as *mut usize;
     {
     {