From df59d7ff749a685d6259271be9c0d6466b347f2f Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 26 Feb 2020 07:59:11 -0600 Subject: [PATCH] Review comments --- src/shims/fs.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/shims/fs.rs b/src/shims/fs.rs index cbdaf9a65b7d..880d7ddd0ae9 100644 --- a/src/shims/fs.rs +++ b/src/shims/fs.rs @@ -881,6 +881,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx let this = self.eval_context_mut(); this.check_no_isolation("readdir64_r")?; + this.assert_platform("linux", "readdir64_r"); let dirp = this.read_scalar(dirp_op)?.to_machine_usize(this)?; @@ -907,7 +908,8 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx let file_name = dir_entry.file_name(); let (name_fits, _) = this.write_os_str_to_c_str( - &file_name, name_place.ptr, + &file_name, + name_place.ptr, name_place.layout.size.bytes(), )?; if !name_fits { @@ -966,10 +968,10 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx let this = self.eval_context_mut(); this.check_no_isolation("readdir_r")?; + this.assert_platform("macos", "readdir_r"); let dirp = this.read_scalar(dirp_op)?.to_machine_usize(this)?; - let dir_iter = this.machine.dir_handler.streams.get_mut(&dirp).ok_or_else(|| { err_unsup_format!("The DIR pointer passed to readdir_r did not come from opendir") })?; @@ -994,7 +996,8 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx let file_name = dir_entry.file_name(); let (name_fits, file_name_len) = this.write_os_str_to_c_str( - &file_name, name_place.ptr, + &file_name, + name_place.ptr, name_place.layout.size.bytes(), )?; if !name_fits {