diff options
author | scottl <scottl@FreeBSD.org> | 2003-07-26 07:23:24 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2003-07-26 07:23:24 +0000 |
commit | d7b9b072229d3fa7d46917b9a76d1e70a60362d1 (patch) | |
tree | 9bbbc04e2d34587e5e951ada2be11a52a0fbb5ae /sys/kern | |
parent | 79fc7c81b12392575c9fde30a22de953f1a8f95b (diff) | |
download | FreeBSD-src-d7b9b072229d3fa7d46917b9a76d1e70a60362d1.zip FreeBSD-src-d7b9b072229d3fa7d46917b9a76d1e70a60362d1.tar.gz |
Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a
value of 512 in LINT. This keeps gcc from complaining.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/uipc_sockbuf.c | 2 | ||||
-rw-r--r-- | sys/kern/uipc_socket2.c | 2 | ||||
-rw-r--r-- | sys/kern/vfs_export.c | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index b0d366a..6feeb91 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -626,8 +626,10 @@ sbappendaddr(sb, asa, m0, control) space += m_length(control, &n); if (space > sbspace(sb)) return (0); +#if MSIZE <= 256 if (asa->sa_len > MLEN) return (0); +#endif MGET(m, M_DONTWAIT, MT_SONAME); if (m == 0) return (0); diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index b0d366a..6feeb91 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -626,8 +626,10 @@ sbappendaddr(sb, asa, m0, control) space += m_length(control, &n); if (space > sbspace(sb)) return (0); +#if MSIZE <= 256 if (asa->sa_len > MLEN) return (0); +#endif MGET(m, M_DONTWAIT, MT_SONAME); if (m == 0) return (0); diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index b1a536b..7609ac0 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -120,8 +120,10 @@ vfs_hang_addrlist(mp, nep, argp) return (0); } +#if MSIZE <= 256 if (argp->ex_addrlen > MLEN) return (EINVAL); +#endif i = sizeof(struct netcred) + argp->ex_addrlen + argp->ex_masklen; np = (struct netcred *) malloc(i, M_NETADDR, M_WAITOK | M_ZERO); |