diff options
author | shin <shin@FreeBSD.org> | 2000-03-03 11:13:12 +0000 |
---|---|---|
committer | shin <shin@FreeBSD.org> | 2000-03-03 11:13:12 +0000 |
commit | 73d476cc6479c6344b1bd61ca4519254b46d544c (patch) | |
tree | d561c1b7b5d50f03f48de22a70eff74d82d43c59 /sys/kern/uipc_socket2.c | |
parent | 91b0fd96fd89837d8fb4bcf2d16d5dca2213c1a4 (diff) | |
download | FreeBSD-src-73d476cc6479c6344b1bd61ca4519254b46d544c.zip FreeBSD-src-73d476cc6479c6344b1bd61ca4519254b46d544c.tar.gz |
CMSG_XXX macros alignment fixes to follow RFC2292.
Approved by: jkh
Submitted by: Partly from tech@openbsd
Reviewed by: itojun
Diffstat (limited to 'sys/kern/uipc_socket2.c')
-rw-r--r-- | sys/kern/uipc_socket2.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index c1072b7..93d1fda 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -839,16 +839,15 @@ sbcreatecontrol(p, size, type, level) register struct cmsghdr *cp; struct mbuf *m; - if ((u_int)size > MLEN) + if (CMSG_SPACE((u_int)size) > MLEN) return ((struct mbuf *) NULL); if ((m = m_get(M_DONTWAIT, MT_CONTROL)) == NULL) return ((struct mbuf *) NULL); cp = mtod(m, struct cmsghdr *); /* XXX check size? */ (void)memcpy(CMSG_DATA(cp), p, size); - size += sizeof(*cp); - m->m_len = size; - cp->cmsg_len = size; + m->m_len = CMSG_SPACE(size); + cp->cmsg_len = CMSG_LEN(size); cp->cmsg_level = level; cp->cmsg_type = type; return (m); |