forked from luck/tmp_suning_uos_patched
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: b61ec31c85
("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>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
This commit is contained in:
parent
7a79d717e0
commit
5f320f09b3
|
@ -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, yiaddr, vid, BATADV_P_DAT_DHT_PUT);
|
||||||
batadv_dat_send_data(bat_priv, skb, ip_dst, 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,
|
batadv_dbg(BATADV_DBG_DAT, bat_priv,
|
||||||
"Snooped from outgoing DHCPACK (server address): %pI4, %pM (vid: %i)\n",
|
"Snooped from outgoing DHCPACK (server address): %pI4, %pM (vid: %i)\n",
|
||||||
&ip_dst, hw_dst, batadv_print_vid(vid));
|
&ip_dst, hw_dst, batadv_print_vid(vid));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user