Index: in_mcast.c =================================================================== --- in_mcast.c (revision 197304) +++ in_mcast.c (working copy) @@ -2427,8 +2427,10 @@ inp_set_source_filters(struct inpcb *inp, struct s 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);