mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Fix invalid conversion in __cmsg_nxthdr
This commit is contained in:
@ -1,5 +1,10 @@
|
|||||||
2011-09-12 Andreas Schwab <schwab@redhat.com>
|
2011-09-12 Andreas Schwab <schwab@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Cast to
|
||||||
|
`struct cmsghdr *' instead of `void *'.
|
||||||
|
* sysdeps/unix/sysv/linux/sparc/bits/socket.h (__cmsg_nxthdr):
|
||||||
|
Likewise.
|
||||||
|
|
||||||
* elf/rtld.c: Remove use of USE___THREAD.
|
* elf/rtld.c: Remove use of USE___THREAD.
|
||||||
|
|
||||||
2011-09-11 Andreas Schwab <schwab@linux-m68k.org>
|
2011-09-11 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
@ -318,7 +318,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
|
|||||||
{
|
{
|
||||||
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
|
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
|
||||||
/* The kernel header does this so there may be a reason. */
|
/* The kernel header does this so there may be a reason. */
|
||||||
return (void *) 0;
|
return (struct cmsghdr *) 0;
|
||||||
|
|
||||||
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
|
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
|
||||||
+ CMSG_ALIGN (__cmsg->cmsg_len));
|
+ CMSG_ALIGN (__cmsg->cmsg_len));
|
||||||
@ -327,7 +327,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
|
|||||||
|| ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
|
|| ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
|
||||||
> ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
|
> ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
|
||||||
/* No more entries. */
|
/* No more entries. */
|
||||||
return (void *) 0;
|
return (struct cmsghdr *) 0;
|
||||||
return __cmsg;
|
return __cmsg;
|
||||||
}
|
}
|
||||||
#endif /* Use `extern inline'. */
|
#endif /* Use `extern inline'. */
|
||||||
|
@ -318,7 +318,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
|
|||||||
{
|
{
|
||||||
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
|
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
|
||||||
/* The kernel header does this so there may be a reason. */
|
/* The kernel header does this so there may be a reason. */
|
||||||
return (void *) 0;
|
return (struct cmsghdr *) 0;
|
||||||
|
|
||||||
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
|
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
|
||||||
+ CMSG_ALIGN (__cmsg->cmsg_len));
|
+ CMSG_ALIGN (__cmsg->cmsg_len));
|
||||||
@ -327,7 +327,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
|
|||||||
|| ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
|
|| ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
|
||||||
> ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
|
> ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
|
||||||
/* No more entries. */
|
/* No more entries. */
|
||||||
return (void *) 0;
|
return (struct cmsghdr *) 0;
|
||||||
return __cmsg;
|
return __cmsg;
|
||||||
}
|
}
|
||||||
#endif /* Use `extern inline'. */
|
#endif /* Use `extern inline'. */
|
||||||
|
Reference in New Issue
Block a user