GLIBC now follows POSIX [1] for both msghdr and cmsghdr definitions,
which means that msg_iovlen, msg_controllen, and cmsg_len are no
longer size_t but sockelen_t for 64-bits architectures. The final struct
size does not change, since paddings were added.
This patch fixes the build issue against GLIBC 2.24 socket.h header by
using the same definition for internal sanitizer_msghdr and
sanitizer_cmsghdr.
This is too confusing. Please provide the entire msghdr & cmsghdr definitions for the three cases (be, le, pre-2.24) w/o conditional macros inside.