network - Fix nasty bug in udp6_send()
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 16 Sep 2010 07:38:49 +0000 (00:38 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 16 Sep 2010 07:38:49 +0000 (00:38 -0700)
* This bug was causing machines receiving inet6 udp packets to crash
  very quickly, but was nearly impossible to find due to the weird
  way it caused mbufs to interact.

Reported-by: Peter Avalos <peter@theshell.com>,
     Francois Tigeot <ftigeot@wolfpond.org>

sys/netinet6/udp6_usrreq.c

index f3b9bf0..0bf83d1 100644 (file)
@@ -819,6 +819,8 @@ udp6_send(netmsg_t msg)
        }
 
        error = udp6_output(inp, m, addr, control, td);
+       lwkt_replymsg(&msg->send.base.lmsg, error);
+       return;
 bad:
        m_freem(m);
        lwkt_replymsg(&msg->send.base.lmsg, error);