bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [hurd, commited] socket: Fix tst-cmsghdr-skeleton.c use of cmsg_len


From: Samuel Thibault
Subject: Re: [hurd, commited] socket: Fix tst-cmsghdr-skeleton.c use of cmsg_len
Date: Mon, 1 May 2023 15:43:44 +0200
User-agent: NeoMutt/20170609 (1.8.3)

Andreas Schwab, le lun. 01 mai 2023 15:38:45 +0200, a ecrit:
> On Mai 01 2023, Samuel Thibault wrote:
> 
> > 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.
> > ---
> >  socket/tst-cmsghdr-skeleton.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/socket/tst-cmsghdr-skeleton.c b/socket/tst-cmsghdr-skeleton.c
> > index 296a0a8581..9516139f87 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;
> 
> What does that fix?

64bit hurd, where cmsg_len is socklen_t as the standards require (thus
32bit).

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]