diff options
-rw-r--r-- | sys/net/pf.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c index c78c82da080..f32a7d709ac 100644 --- a/sys/net/pf.c +++ b/sys/net/pf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf.c,v 1.692 2010/06/27 01:39:43 henning Exp $ */ +/* $OpenBSD: pf.c,v 1.693 2010/06/27 21:58:35 henning Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -5985,9 +5985,8 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, } } while (!terminal); - /* if there's no routing header, use unmodified mbuf for checksumming */ - if (!n) - n = m; + /* ptr to original, normalization can get us a new one */ + n = m; switch (pd.proto) { @@ -6133,6 +6132,7 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, } done: + /* if normalization got us a new mbuf, free original */ if (n != m) { m_freem(n); n = NULL; |