mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
block: replace as <pointer> casts with safer alternatives
`as` casts can change mutability, which quickly leads to undefined behavior. Signed-off-by: Julian Schindel <mail@arctic-alpaca.de>
This commit is contained in:
committed by
Rob Bradford
parent
7455ff1ea4
commit
2b6e9df4e3
@@ -353,7 +353,7 @@ mod unit_tests {
|
||||
let mut async_io = disk.create_async_io(1).unwrap();
|
||||
let mut buf = vec![0xFFu8; len];
|
||||
let iovec = libc::iovec {
|
||||
iov_base: buf.as_mut_ptr() as *mut libc::c_void,
|
||||
iov_base: buf.as_mut_ptr().cast(),
|
||||
iov_len: buf.len(),
|
||||
};
|
||||
async_io
|
||||
@@ -368,7 +368,7 @@ mod unit_tests {
|
||||
fn async_write(disk: &QcowDisk, offset: u64, data: &[u8]) {
|
||||
let mut async_io = disk.create_async_io(1).unwrap();
|
||||
let iovec = libc::iovec {
|
||||
iov_base: data.as_ptr() as *mut libc::c_void,
|
||||
iov_base: data.as_ptr().cast::<libc::c_void>().cast_mut(),
|
||||
iov_len: data.len(),
|
||||
};
|
||||
async_io
|
||||
@@ -1550,15 +1550,15 @@ mod unit_tests {
|
||||
let c = vec![0xCCu8; 16 * 1024];
|
||||
let iovecs_w = [
|
||||
libc::iovec {
|
||||
iov_base: a.as_ptr() as *mut libc::c_void,
|
||||
iov_base: a.as_ptr().cast::<libc::c_void>().cast_mut(),
|
||||
iov_len: a.len(),
|
||||
},
|
||||
libc::iovec {
|
||||
iov_base: b.as_ptr() as *mut libc::c_void,
|
||||
iov_base: b.as_ptr().cast::<libc::c_void>().cast_mut(),
|
||||
iov_len: b.len(),
|
||||
},
|
||||
libc::iovec {
|
||||
iov_base: c.as_ptr() as *mut libc::c_void,
|
||||
iov_base: c.as_ptr().cast::<libc::c_void>().cast_mut(),
|
||||
iov_len: c.len(),
|
||||
},
|
||||
];
|
||||
@@ -1578,15 +1578,15 @@ mod unit_tests {
|
||||
let mut r3 = vec![0u8; 8 * 1024];
|
||||
let iovecs_r = [
|
||||
libc::iovec {
|
||||
iov_base: r1.as_mut_ptr() as *mut libc::c_void,
|
||||
iov_base: r1.as_mut_ptr().cast(),
|
||||
iov_len: r1.len(),
|
||||
},
|
||||
libc::iovec {
|
||||
iov_base: r2.as_mut_ptr() as *mut libc::c_void,
|
||||
iov_base: r2.as_mut_ptr().cast(),
|
||||
iov_len: r2.len(),
|
||||
},
|
||||
libc::iovec {
|
||||
iov_base: r3.as_mut_ptr() as *mut libc::c_void,
|
||||
iov_base: r3.as_mut_ptr().cast(),
|
||||
iov_len: r3.len(),
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user