Skip to content

Commit b015d4e

Browse files
committed
Use aligned cmsghdr structs test_cmsg_nxthdr
1 parent 7adf246 commit b015d4e

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

libc-test/test/cmsg.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,15 @@ mod t {
5555
// https://github.com/rust-lang/libc/issues/1239
5656
#[cfg(not(target_arch = "sparc64"))]
5757
#[test]
58-
// FIXME: This triggers alignment checks for pointer dereferences:
59-
// https://github.com/rust-lang/libc/issues/3181
60-
#[ignore]
6158
fn test_cmsg_nxthdr() {
6259
use std::ptr;
6360

64-
let mut buffer = [0u8; 256];
61+
const CAPACITY: usize = 64 + 196 / mem::size_of::<usize>();
62+
let mut buffer = [0_usize; CAPACITY];
6563
let mut mhdr: msghdr = unsafe { mem::zeroed() };
6664
let pmhdr = &mhdr as *const msghdr;
6765
for start_ofs in 0..64 {
68-
let pcmsghdr = &mut buffer[start_ofs] as *mut u8 as *mut cmsghdr;
66+
let pcmsghdr = &mut buffer[start_ofs] as *mut usize as *mut cmsghdr;
6967
mhdr.msg_control = pcmsghdr as *mut c_void;
7068
mhdr.msg_controllen = (160 - start_ofs) as _;
7169
for cmsg_len in 0..64 {

0 commit comments

Comments
 (0)