From: thib Date: Fri, 8 Aug 2008 08:54:08 +0000 (+0000) Subject: plug an mbuf leak in m_pullup2(); If we fail to get a cluster for an mbuf, X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=d78bdb2326343db0370a0ef731ce1e6f02103590;p=openbsd plug an mbuf leak in m_pullup2(); If we fail to get a cluster for an mbuf, free the mbuf before bailing out. ok claudio@ --- diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index ad034e8491e..64258a31c8f 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uipc_mbuf.c,v 1.90 2008/06/11 02:46:34 henning Exp $ */ +/* $OpenBSD: uipc_mbuf.c,v 1.91 2008/08/08 08:54:08 thib Exp $ */ /* $NetBSD: uipc_mbuf.c,v 1.15.4.1 1996/06/13 17:11:44 cgd Exp $ */ /* @@ -715,8 +715,10 @@ m_pullup2(struct mbuf *n, int len) if (m == NULL) goto bad; MCLGET(m, M_DONTWAIT); - if ((m->m_flags & M_EXT) == 0) + if ((m->m_flags & M_EXT) == 0) { + m_free(m); goto bad; + } m->m_len = 0; if (n->m_flags & M_PKTHDR) { /* Too many adverse side effects. */