RFC 2292 requires to check msg_controllen, in case that the kernel returns

an empty list for some reasons.

Obtained from:

 NetBSD: socket.h,v 1.62 2001/09/07 08:13:01 itojun
 OpenBSD: socket.h,v 1.39 2001/09/07 16:45:25 itojun

MFC after:	2 weeks
This commit is contained in:
Andre Oppermann 2004-08-11 10:18:49 +00:00
parent 2f6e6e9b4c
commit 8f07801654
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=133478

View file

@ -447,7 +447,14 @@ struct cmsgcred {
(struct cmsghdr *)0 : \
(struct cmsghdr *)((char *)(cmsg) + _ALIGN((cmsg)->cmsg_len)))
#define CMSG_FIRSTHDR(mhdr) ((struct cmsghdr *)(mhdr)->msg_control)
/*
* RFC 2292 requires to check msg_controllen, in case that the kernel returns
* an empty list for some reasons.
*/
#define CMSG_FIRSTHDR(mhdr) \
((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \
(struct cmsghdr *)(mhdr)->msg_control : \
(struct cmsghdr *)NULL)
#if __BSD_VISIBLE
/* RFC 2292 additions */