diff --git a/sgx_urts/src/ocall/sgxfile.rs b/sgx_urts/src/ocall/sgxfile.rs index e602f27b9..ba948aa6e 100644 --- a/sgx_urts/src/ocall/sgxfile.rs +++ b/sgx_urts/src/ocall/sgxfile.rs @@ -53,13 +53,14 @@ pub unsafe extern "C" fn u_sgxfs_open_ocall( return ptr::null_mut(); } }; - *size = match file.size() { + let sz = match file.size() { Ok(size) => size, Err(errno) => { set_error(error, errno); return ptr::null_mut(); } }; + unsafe { size.write_unaligned(sz) }; file.into_raw_stream() as *mut c_void }