aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-02-18 11:33:21 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-02-18 11:33:21 +0000
commit99b3b70af627980ee3490944c702b42fc855ef2a (patch)
tree3b92c50e48b4f3621638fd63b4e2b2d6fa5136cf
parent26ae658a83eeca16780cf5615c8247cbb151c3fa (diff)
parenta973c5922de7ada4ff4d4b459d4f5b28d2aeb9e0 (diff)
downloadslirp-99b3b70af627980ee3490944c702b42fc855ef2a.zip
slirp-99b3b70af627980ee3490944c702b42fc855ef2a.tar.gz
slirp-99b3b70af627980ee3490944c702b42fc855ef2a.tar.bz2
Merge branch 'ndp-leak' into 'master'
ip6_output: fix memory leak on fast-send See merge request slirp/libslirp!67
-rw-r--r--src/ip6_output.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ip6_output.c b/src/ip6_output.c
index b861106..2f62cc9 100644
--- a/src/ip6_output.c
+++ b/src/ip6_output.c
@@ -30,7 +30,10 @@ int ip6_output(struct socket *so, struct mbuf *m, int fast)
ip->ip_fl_lo = 0;
if (fast) {
+ /* We cannot fast-send non-multicast, we'd need a NDP NS */
+ assert(IN6_IS_ADDR_MULTICAST(&ip->ip_dst));
if_encap(m->slirp, m);
+ m_free(m);
} else {
if_output(so, m);
}