Fix invalid conversion in __cmsg_nxthdr
authorAndreas Schwab <schwab@redhat.com>
Mon, 12 Sep 2011 12:44:02 +0000 (14:44 +0200)
committerAndreas Schwab <schwab@redhat.com>
Mon, 12 Sep 2011 13:48:12 +0000 (15:48 +0200)
ChangeLog
sysdeps/unix/sysv/linux/bits/socket.h
sysdeps/unix/sysv/linux/sparc/bits/socket.h

index 77b7be7..8ec914f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 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.
 
 2011-09-11  Andreas Schwab  <schwab@linux-m68k.org>
index 911b431..69e090b 100644 (file)
@@ -318,7 +318,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* 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_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 *) __mhdr->msg_control + __mhdr->msg_controllen)))
     /* No more entries.  */
-    return (void *) 0;
+    return (struct cmsghdr *) 0;
   return __cmsg;
 }
 #endif /* Use `extern inline'.  */
index c7ef5d8..6cfbbd7 100644 (file)
@@ -318,7 +318,7 @@ __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* 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_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 *) __mhdr->msg_control + __mhdr->msg_controllen)))
     /* No more entries.  */
-    return (void *) 0;
+    return (struct cmsghdr *) 0;
   return __cmsg;
 }
 #endif /* Use `extern inline'.  */