From: Samuel Thibault Date: Mon, 1 May 2023 12:48:06 +0000 (+0200) Subject: socket: Fix tst-cmsghdr-skeleton.c use of cmsg_len X-Git-Tag: glibc-2.38~305 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7647d1901ea2b34fafd95ecddf52905a3d314368;p=thirdparty%2Fglibc.git socket: Fix tst-cmsghdr-skeleton.c use of cmsg_len 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. --- diff --git a/socket/tst-cmsghdr-skeleton.c b/socket/tst-cmsghdr-skeleton.c index 296a0a85812..9516139f875 100644 --- a/socket/tst-cmsghdr-skeleton.c +++ b/socket/tst-cmsghdr-skeleton.c @@ -49,7 +49,7 @@ RUN_TEST_FUNCNAME (CMSG_NXTHDR_IMPL) (void) /* 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);