Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
commit be20c40c30f87b32ae03038dce651f3bd897961b Author: Martin Weinelt via B.A.T.M.A.N b.a.t.m.a.n@lists.open-mesh.org Date: Wed Feb 6 15:39:14 2019 +0100
batman-adv: fix memory leak in in batadv_dat_put_dhcp
batadv_dat_put_dhcp is creating a new ARP packet via batadv_dat_arp_create_reply and tries to forward it via batadv_dat_send_data to different peers in the DHT. The original skb is not consumed by batadv_dat_send_data and thus has to be consumed by the caller.
Fixes: 1fd1ce2d383f ("batman-adv: Snoop DHCPACKs for DAT") Signed-off-by: Martin Weinelt martin@linuxlounge.net [sven@narfation.org: add commit message] Signed-off-by: Sven Eckelmann sven@narfation.org
be20c40c30f87b32ae03038dce651f3bd897961b net/batman-adv/distributed-arp-table.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/net/batman-adv/distributed-arp-table.c b/net/batman-adv/distributed-arp-table.c index 899ab051..310a4f35 100644 --- a/net/batman-adv/distributed-arp-table.c +++ b/net/batman-adv/distributed-arp-table.c @@ -1711,6 +1711,8 @@ static void batadv_dat_put_dhcp(struct batadv_priv *bat_priv, u8 *chaddr, batadv_dat_send_data(bat_priv, skb, yiaddr, vid, BATADV_P_DAT_DHT_PUT); batadv_dat_send_data(bat_priv, skb, ip_dst, vid, BATADV_P_DAT_DHT_PUT);
+ consume_skb(skb); + batadv_dbg(BATADV_DBG_DAT, bat_priv, "Snooped from outgoing DHCPACK (server address): %pI4, %pM (vid: %i)\n", &ip_dst, hw_dst, batadv_print_vid(vid));