cmsg_len is supposed to be socklen_t according to standards, but it was made
size_t on Linux, see BZ 16919. For ports that have it socklen_t, SIZE_MAX is
too large. We can however explicitly cast it to the type of cmsg_len so it
will fit according to that type.
/* The first header length is so big, using it would cause an overflow. */
cmsg = CMSG_FIRSTHDR (&m);
TEST_VERIFY_EXIT ((char *) cmsg == cmsgbuf);
- cmsg->cmsg_len = SIZE_MAX;
+ cmsg->cmsg_len = (__typeof (cmsg->cmsg_len)) SIZE_MAX;
cmsg = CMSG_NXTHDR_IMPL (&m, cmsg);
TEST_VERIFY_EXIT (cmsg == NULL);