unix: fix uint64->int cast of control message header Change-Id: I533233a08472b686d03573bcbae664c76919b18e Reviewed-on: https://go-review.googlesource.com/22527 Run-TryBot: Damien Neil <dneil@google.com> Reviewed-by: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/unix/sockcmsg_unix.go b/unix/sockcmsg_unix.go index 70af5a7..f1493a3 100644 --- a/unix/sockcmsg_unix.go +++ b/unix/sockcmsg_unix.go
@@ -62,7 +62,7 @@ func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { h := (*Cmsghdr)(unsafe.Pointer(&b[0])) - if h.Len < SizeofCmsghdr || int(h.Len) > len(b) { + if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) { return nil, nil, EINVAL } return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil