summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/netinet6/ip6_forward.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/netinet6/ip6_forward.c')
-rw-r--r--freebsd/sys/netinet6/ip6_forward.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/freebsd/sys/netinet6/ip6_forward.c b/freebsd/sys/netinet6/ip6_forward.c
index 2b45804f..c45ab10b 100644
--- a/freebsd/sys/netinet6/ip6_forward.c
+++ b/freebsd/sys/netinet6/ip6_forward.c
@@ -565,10 +565,8 @@ skip_routing:
odst = ip6->ip6_dst;
/* Run through list of hooks for output packets. */
error = pfil_run_hooks(&V_inet6_pfil_hook, &m, rt->rt_ifp, PFIL_OUT, NULL);
- if (error != 0)
- goto senderr;
- if (m == NULL)
- goto freecopy;
+ if (error != 0 || m == NULL)
+ goto freecopy; /* consumed by filter */
ip6 = mtod(m, struct ip6_hdr *);
/* See if destination IP address was changed by packet filter. */
@@ -637,7 +635,6 @@ pass:
}
}
-senderr:
if (mcopy == NULL)
goto out;
switch (error) {