From 2a6b746f5ede747426c306105adae547a11363c0 Mon Sep 17 00:00:00 2001 From: Julian Schindel Date: Wed, 29 Apr 2026 21:55:06 +0200 Subject: [PATCH] net_util: replace `as ` casts with safer alternatives `as` casts can change mutability, which quickly leads to undefined behavior. Signed-off-by: Julian Schindel --- net_util/src/queue_pair.rs | 4 ++-- net_util/src/tap.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net_util/src/queue_pair.rs b/net_util/src/queue_pair.rs index ee4d4d61c..33b49a0c6 100644 --- a/net_util/src/queue_pair.rs +++ b/net_util/src/queue_pair.rs @@ -81,7 +81,7 @@ impl TxVirtio { assert!(buf.len() >= desc.len() as usize); let buf = buf.ptr_guard_mut(); let iovec = libc::iovec { - iov_base: buf.as_ptr() as *mut libc::c_void, + iov_base: buf.as_ptr().cast(), iov_len: desc.len() as libc::size_t, }; iovecs.push(iovec); @@ -238,7 +238,7 @@ impl RxVirtio { assert!(buf.len() >= desc.len() as usize); let buf = buf.ptr_guard_mut(); let iovec = libc::iovec { - iov_base: buf.as_ptr() as *mut libc::c_void, + iov_base: buf.as_ptr().cast(), iov_len: desc.len() as libc::size_t, }; iovecs.push(iovec); diff --git a/net_util/src/tap.rs b/net_util/src/tap.rs index 43b42a4a2..012c5b944 100644 --- a/net_util/src/tap.rs +++ b/net_util/src/tap.rs @@ -169,7 +169,7 @@ impl Tap { // Open calls are safe because we give a constant null-terminated // string and verify the result. libc::open( - c"/dev/net/tun".as_ptr() as *const c_char, + c"/dev/net/tun".as_ptr().cast(), flags.unwrap_or(libc::O_RDWR | libc::O_NONBLOCK | libc::O_CLOEXEC), ) };