@@ -27,11 +27,11 @@ use windows_sys::{
27
27
} ,
28
28
Networking :: WinSock :: {
29
29
closesocket, setsockopt, shutdown, socklen_t, WSAIoctl , WSARecv , WSARecvFrom , WSASend ,
30
- WSASendMsg , WSASendTo , LPFN_ACCEPTEX , LPFN_CONNECTEX , LPFN_GETACCEPTEXSOCKADDRS ,
31
- LPFN_WSARECVMSG , SD_BOTH , SD_RECEIVE , SD_SEND , SIO_GET_EXTENSION_FUNCTION_POINTER ,
32
- SOCKADDR , SOCKADDR_STORAGE , SOL_SOCKET , SO_UPDATE_ACCEPT_CONTEXT ,
33
- SO_UPDATE_CONNECT_CONTEXT , WSABUF , WSAID_ACCEPTEX , WSAID_CONNECTEX ,
34
- WSAID_GETACCEPTEXSOCKADDRS , WSAID_WSARECVMSG , WSAMSG ,
30
+ WSASendMsg , WSASendTo , CMSGHDR , LPFN_ACCEPTEX , LPFN_CONNECTEX ,
31
+ LPFN_GETACCEPTEXSOCKADDRS , LPFN_WSARECVMSG , SD_BOTH , SD_RECEIVE , SD_SEND ,
32
+ SIO_GET_EXTENSION_FUNCTION_POINTER , SOCKADDR , SOCKADDR_STORAGE , SOL_SOCKET ,
33
+ SO_UPDATE_ACCEPT_CONTEXT , SO_UPDATE_CONNECT_CONTEXT , WSABUF , WSAID_ACCEPTEX ,
34
+ WSAID_CONNECTEX , WSAID_GETACCEPTEXSOCKADDRS , WSAID_WSARECVMSG , WSAMSG ,
35
35
} ,
36
36
Storage :: FileSystem :: { FlushFileBuffers , ReadFile , WriteFile } ,
37
37
System :: {
@@ -792,6 +792,10 @@ pub struct RecvMsg<T: IoVectoredBufMut, C: IoBufMut, S> {
792
792
impl < T : IoVectoredBufMut , C : IoBufMut , S > RecvMsg < T , C , S > {
793
793
/// Create [`RecvMsgVectored`].
794
794
pub fn new ( fd : SharedFd < S > , buffer : T , control : C ) -> Self {
795
+ assert ! (
796
+ control. as_buf_ptr( ) . cast:: <CMSGHDR >( ) . is_aligned( ) ,
797
+ "misaligned control message buffer"
798
+ ) ;
795
799
Self {
796
800
addr : unsafe { std:: mem:: zeroed ( ) } ,
797
801
addr_len : std:: mem:: size_of :: < SOCKADDR_STORAGE > ( ) as _ ,
@@ -859,6 +863,10 @@ pub struct SendMsg<T: IoVectoredBuf, C: IoBuf, S> {
859
863
impl < T : IoVectoredBuf , C : IoBuf , S > SendMsg < T , C , S > {
860
864
/// Create [`SendMsgVectored`].
861
865
pub fn new ( fd : SharedFd < S > , buffer : T , control : C , addr : SockAddr ) -> Self {
866
+ assert ! (
867
+ control. as_buf_ptr( ) . cast:: <CMSGHDR >( ) . is_aligned( ) ,
868
+ "misaligned control message buffer"
869
+ ) ;
862
870
Self {
863
871
fd,
864
872
buffer,
0 commit comments