Explorar el Código

handle the null case

Paul Sajna hace 7 años
padre
commit
52acce0d34
Se han modificado 1 ficheros con 5 adiciones y 3 borrados
  1. 5 3
      src/platform/src/redox/mod.rs

+ 5 - 3
src/platform/src/redox/mod.rs

@@ -204,9 +204,11 @@ pub fn unlink(path: *const c_char) -> c_int {
 
 pub fn waitpid(pid: pid_t, stat_loc: *mut c_int, options: c_int) -> pid_t {
     unsafe {
-        let mut temp: usize = *stat_loc as usize;
-        let res = e(syscall::waitpid(pid as usize, &mut temp, options as usize));
-        *stat_loc = temp as c_int;
+        let mut temp: usize = 0;
+        let mut res = e(syscall::waitpid(pid as usize, &mut temp, options as usize));
+        if !stat_loc.is_null()  {
+            *stat_loc = temp as c_int;
+        }
         res
     }
 }