--- uipc_mbuf2.c.orig Wed Mar 14 11:43:34 2007 +++ uipc_mbuf2.c Wed Mar 14 13:46:08 2007 @@ -1,4 +1,4 @@ -/* $OpenBSD: uipc_mbuf2.c,v 1.22 2004/07/22 09:33:21 itojun Exp $ */ +/* $OpenBSD: uipc_mbuf2.c,v 1.22.1 2007/03/14 10:03:32 torh Exp $ */ /* $KAME: uipc_mbuf2.c,v 1.29 2001/02/14 13:42:10 itojun Exp $ */ /* $NetBSD: uipc_mbuf.c,v 1.40 1999/04/01 00:23:25 thorpej Exp $ */ @@ -233,16 +233,14 @@ { struct mbuf *n; int l; - int copyhdr; if (len > MCLBYTES) return (NULL); if (off == 0 && (m->m_flags & M_PKTHDR) != 0) { - copyhdr = 1; MGETHDR(n, wait, m->m_type); + M_DUP_PKTHDR(n, m); l = MHLEN; } else { - copyhdr = 0; MGET(n, wait, m->m_type); l = MLEN; } @@ -256,8 +254,6 @@ if (!n) return (NULL); - if (copyhdr) - M_DUP_PKTHDR(n, m); m_copydata(m, off, len, mtod(n, caddr_t)); n->m_len = len;