From a9a13b54e9935e76c97733707aa9daec1515c613 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Sun, 1 Jun 2008 15:13:32 +0000 Subject: Pass really available buffer size to libalias instead of MCLBYTES constant. MCLBYTES constant were used with believe that m_megapullup() always moves date into a fresh cluster that may become not so. --- sys/netgraph/ng_nat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys') diff --git a/sys/netgraph/ng_nat.c b/sys/netgraph/ng_nat.c index 0d1e5132cbb2..9e605daafd13 100644 --- a/sys/netgraph/ng_nat.c +++ b/sys/netgraph/ng_nat.c @@ -704,14 +704,14 @@ ng_nat_rcvdata(hook_p hook, item_p item ) ("ng_nat: ip_len != m_pkthdr.len")); if (hook == priv->in) { - rval = LibAliasIn(priv->lib, c, MCLBYTES); + rval = LibAliasIn(priv->lib, c, m->m_len + M_TRAILINGSPACE(m)); if (rval != PKT_ALIAS_OK && rval != PKT_ALIAS_FOUND_HEADER_FRAGMENT) { NG_FREE_ITEM(item); return (EINVAL); } } else if (hook == priv->out) { - rval = LibAliasOut(priv->lib, c, MCLBYTES); + rval = LibAliasOut(priv->lib, c, m->m_len + M_TRAILINGSPACE(m)); if (rval != PKT_ALIAS_OK) { NG_FREE_ITEM(item); return (EINVAL); -- cgit v1.3