aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/in_mcast.c
diff options
context:
space:
mode:
authorBruce M Simpson <bms@FreeBSD.org>2009-09-18 15:12:31 +0000
committerBruce M Simpson <bms@FreeBSD.org>2009-09-18 15:12:31 +0000
commit99bf30cf01af2495b03b6bfc6e4af0d6d79f450b (patch)
tree228c4844ad62e0f146a9cfdb7b8388bb30d699f3 /sys/netinet/in_mcast.c
parent6877964545c030d0197ba4b9d052fee08bb51d9f (diff)
downloadsrc-99bf30cf01af2495b03b6bfc6e4af0d6d79f450b.tar.gz
src-99bf30cf01af2495b03b6bfc6e4af0d6d79f450b.zip
Return ENOBUFS consistently if user attempts to exceed
in_mcast_maxsocksrc resource limit. Submitted by: syrinx MFC after: 3 days
Notes
Notes: svn path=/head/; revision=197314
Diffstat (limited to 'sys/netinet/in_mcast.c')
-rw-r--r--sys/netinet/in_mcast.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c
index e855093a1c3e..2ef6d3a4e571 100644
--- a/sys/netinet/in_mcast.c
+++ b/sys/netinet/in_mcast.c
@@ -2427,8 +2427,10 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt)
if (error)
return (error);
- if (msfr.msfr_nsrcs > in_mcast_maxsocksrc ||
- (msfr.msfr_fmode != MCAST_EXCLUDE &&
+ if (msfr.msfr_nsrcs > in_mcast_maxsocksrc)
+ return (ENOBUFS);
+
+ if ((msfr.msfr_fmode != MCAST_EXCLUDE &&
msfr.msfr_fmode != MCAST_INCLUDE))
return (EINVAL);