diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c index 3dc4fa27168..b0be48b6543 100644 --- a/sys/netinet/in_mcast.c +++ b/sys/netinet/in_mcast.c @@ -2601,6 +2601,7 @@ inp_set_source_filters(struct inpcb *inp, struct sockopt *sopt) error = copyin(msfr.msfr_srcs, kss, sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs); if (error) { + IN_MULTI_UNLOCK(); free(kss, M_TEMP); return (error); }