diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/cmsg_nxthdr.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/cmsg_nxthdr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c index 22daab5ee3..b7de285e34 100644 --- a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c +++ b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c @@ -29,8 +29,8 @@ __cmsg_nxthdr (struct msghdr *mhdr, struct cmsghdr *cmsg) cmsg = (struct cmsghdr *) ((unsigned char *) cmsg + CMSG_ALIGN (cmsg->cmsg_len)); - if ((unsigned char *) (cmsg + 1) >= ((unsigned char *) mhdr->msg_control - + mhdr->msg_controllen) + if ((unsigned char *) (cmsg + 1) > ((unsigned char *) mhdr->msg_control + + mhdr->msg_controllen) || ((unsigned char *) cmsg + CMSG_ALIGN (cmsg->cmsg_len) > ((unsigned char *) mhdr->msg_control + mhdr->msg_controllen))) /* No more entries. */ |