summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2016-01-21 06:32:19 +0000
committerjsg <jsg@openbsd.org>2016-01-21 06:32:19 +0000
commitb6b2f5e033955fb1193312481eb0111ffeb7b10b (patch)
tree232c57015a06f0fbb48cd0b7024831c1914282f0
parentRemove now uneeded bus_space_unmap calls in the DS1742W/Origin path that (diff)
downloadwireguard-openbsd-b6b2f5e033955fb1193312481eb0111ffeb7b10b.tar.xz
wireguard-openbsd-b6b2f5e033955fb1193312481eb0111ffeb7b10b.zip
add a missing if_put() in a carp specific path
ok mpi@
-rw-r--r--sys/netinet6/icmp6.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c
index 62604db81b6..34751a34048 100644
--- a/sys/netinet6/icmp6.c
+++ b/sys/netinet6/icmp6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: icmp6.c,v 1.183 2015/12/09 09:27:40 mpi Exp $ */
+/* $OpenBSD: icmp6.c,v 1.184 2016/01/21 06:32:19 jsg Exp $ */
/* $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */
/*
@@ -444,8 +444,10 @@ icmp6_input(struct mbuf **mp, int *offp, int proto)
if (ifp->if_type == IFT_CARP &&
icmp6->icmp6_type == ICMP6_ECHO_REQUEST &&
carp_lsdrop(m, AF_INET6, ip6->ip6_src.s6_addr32,
- ip6->ip6_dst.s6_addr32))
+ ip6->ip6_dst.s6_addr32)) {
+ if_put(ifp);
goto freeit;
+ }
if_put(ifp);
#endif