@@ -13,19 +13,19 @@ const socketControlMessageBufferSize = unix.SizeofCmsghdr + alignedSizeofInet6Pk
1313 unix .SizeofCmsghdr + alignedSizeofGROSegmentSize
1414
1515const (
16- sizeofGSOSegmentSize = int (unsafe .Sizeof (uint16 (0 )))
17- sizeofGROSegmentSize = int (unsafe .Sizeof (int32 (0 )))
16+ sizeofGSOSegmentSize = 2 // int(unsafe.Sizeof(uint16(0)))
17+ sizeofGROSegmentSize = 4 // int(unsafe.Sizeof(int32(0)))
1818)
1919
20- func cmsgAlign (n uint64 ) uint64 {
21- return (n + unix .SizeofPtr - 1 ) & ^ uint64 (unix .SizeofPtr - 1 )
20+ func cmsgAlign (n int ) int {
21+ return (n + unix .SizeofPtr - 1 ) & ^ (unix .SizeofPtr - 1 )
2222}
2323
2424func parseSocketControlMessage (cmsg []byte ) (m SocketControlMessage , err error ) {
2525 for len (cmsg ) >= unix .SizeofCmsghdr {
2626 cmsghdr := (* unix .Cmsghdr )(unsafe .Pointer (unsafe .SliceData (cmsg )))
27- msgSize := cmsgAlign (cmsghdr .Len )
28- if cmsghdr .Len < unix .SizeofCmsghdr || int ( msgSize ) > len (cmsg ) {
27+ msgSize := cmsgAlign (int ( cmsghdr .Len ) )
28+ if cmsghdr .Len < unix .SizeofCmsghdr || msgSize > len (cmsg ) {
2929 return m , fmt .Errorf ("invalid control message length %d" , cmsghdr .Len )
3030 }
3131
@@ -106,7 +106,7 @@ func (m SocketControlMessage) appendTo(b []byte) []byte {
106106 b , msgBuf = slicehelper .Extend (b , unix .SizeofCmsghdr + alignedSizeofGSOSegmentSize )
107107 cmsghdr := (* unix .Cmsghdr )(unsafe .Pointer (unsafe .SliceData (msgBuf )))
108108 * cmsghdr = unix.Cmsghdr {
109- Len : unix .SizeofCmsghdr + uint64 ( sizeofGSOSegmentSize ) ,
109+ Len : unix .SizeofCmsghdr + sizeofGSOSegmentSize ,
110110 Level : unix .IPPROTO_UDP ,
111111 Type : unix .UDP_SEGMENT ,
112112 }
0 commit comments