Skip to content

Commit dcc8f24

Browse files
committed
Use aligned cmsghdr structs test_cmsg_nxthdr
1 parent 68e06ad commit dcc8f24

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

libc-test/test/cmsg.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,18 @@ mod t {
5858
fn test_cmsg_nxthdr() {
5959
use std::ptr;
6060

61-
let mut buffer = [0u8; 256];
61+
const CAPACITY: usize = 64 + 196 / mem::size_of::<cmsghdr>();
62+
let mut buffer = [unsafe { mem::zeroed::<cmsghdr>() }; CAPACITY];
6263
let mut mhdr: msghdr = unsafe { mem::zeroed() };
6364
let pmhdr = &mhdr as *const msghdr;
6465
for start_ofs in 0..64 {
65-
let pcmsghdr = &mut buffer[start_ofs] as *mut u8 as *mut cmsghdr;
66+
let pcmsghdr = &mut buffer[start_ofs] as *mut cmsghdr;
6667
mhdr.msg_control = pcmsghdr as *mut c_void;
6768
mhdr.msg_controllen = (160 - start_ofs) as _;
6869
for cmsg_len in 0..64 {
6970
for next_cmsg_len in 0..32 {
7071
for i in buffer[start_ofs..].iter_mut() {
71-
*i = 0;
72+
*i = unsafe { mem::zeroed() };
7273
}
7374
unsafe {
7475
(*pcmsghdr).cmsg_len = cmsg_len;

0 commit comments

Comments
 (0)