From 5451e6861b3f8e9f76225950a1e00d3a94e8e145 Mon Sep 17 00:00:00 2001 From: "Thordur I. Bjornsson" Date: Fri, 8 Aug 2008 08:54:09 +0000 Subject: 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@ --- sys/kern/uipc_mbuf.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sys') 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. */ -- cgit v1.2.3