X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fcore%2Fscm.c;h=e887d19be506f51e8625d4dbc8b63c1c3e367030;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hp=3699df388ebe6b816d598e763ac6a67b4b853876;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/net/core/scm.c b/net/core/scm.c index 3699df388..e887d19be 100644 --- a/net/core/scm.c +++ b/net/core/scm.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -127,9 +126,7 @@ int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie *p) for too short ancillary data object at all! Oops. OK, let's add it... */ - if (cmsg->cmsg_len < sizeof(struct cmsghdr) || - (unsigned long)(((char*)cmsg - (char*)msg->msg_control) - + cmsg->cmsg_len) > msg->msg_controllen) + if (!CMSG_OK(msg, cmsg)) goto error; if (cmsg->cmsg_level != SOL_SOCKET)