summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2009-10-30 16:14:52 +0000
committerclaudio <claudio@openbsd.org>2009-10-30 16:14:52 +0000
commite3689e2543acd22873781923bf4f0e8cf96edc9c (patch)
treeaf9a28abb2e06d64c7f0fb906b982f3781ddaef1
parentRouters with "transparent-as yes" set should behave more like iBGP ones. (diff)
downloadwireguard-openbsd-e3689e2543acd22873781923bf4f0e8cf96edc9c.tar.xz
wireguard-openbsd-e3689e2543acd22873781923bf4f0e8cf96edc9c.zip
Don't do a double free, sys_getsockopt() will take care of freeing the
mbuf allocated by the subroutines. OK kettenis@
-rw-r--r--sys/netinet6/ip6_mroute.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/netinet6/ip6_mroute.c b/sys/netinet6/ip6_mroute.c
index 91a8a6d1418..15e5810ccd3 100644
--- a/sys/netinet6/ip6_mroute.c
+++ b/sys/netinet6/ip6_mroute.c
@@ -298,17 +298,14 @@ ip6_mrouter_set(int cmd, struct socket *so, struct mbuf *m)
int
ip6_mrouter_get(int cmd, struct socket *so, struct mbuf **m)
{
- struct mbuf *mb;
-
if (so != ip6_mrouter) return EACCES;
- *m = mb = m_get(M_WAIT, MT_SOOPTS);
+ *m = m_get(M_WAIT, MT_SOOPTS);
switch (cmd) {
case MRT6_PIM:
- return get_pim6(mb);
+ return get_pim6(*m);
default:
- m_free(mb);
return EOPNOTSUPP;
}
}