diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -950,7 +950,7 @@ if (m->m_epg_tls != NULL) { /* can't convert TLS mbuf */ - m_freem(m); + m_free(m); *mres = NULL; return (EINVAL); } @@ -1099,7 +1099,7 @@ error = _mb_unmapped_to_ext(m, &m1); if (error != 0) { if (top != m) - m_free(top); + m_freem(top); m_freem(next); *mres = NULL; return (error); diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -751,7 +751,7 @@ error = ENOBUFS; } IPSTAT_INC(ips_odropped); - goto bad; + goto done; } else { m = m1; } @@ -859,7 +859,7 @@ done: return (error); - bad: +bad: m_freem(m); goto done; }