Repository : ssh://git@open-mesh.org/batman-adv
On branch : maint
commit 977d8c6f9253ad71e4bd8e4be2705c3bee684feb Author: Matthias Schiffer mschiffer@universe-factory.net Date: Wed Jan 23 18:11:53 2013 +0100
batman-adv: fix skb leak in batadv_dat_snoop_incoming_arp_reply()
The callers of batadv_dat_snoop_incoming_arp_reply() assume the skb has been freed when it returns true; fix this by calling kfree_skb before returning as it is done in batadv_dat_snoop_incoming_arp_request().
Signed-off-by: Matthias Schiffer mschiffer@universe-factory.net Signed-off-by: Marek Lindner lindner_marek@yahoo.de Acked-by: Antonio Quartulli ordex@autistici.org
977d8c6f9253ad71e4bd8e4be2705c3bee684feb distributed-arp-table.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/distributed-arp-table.c b/distributed-arp-table.c index 7485a78..9f4cff3 100644 --- a/distributed-arp-table.c +++ b/distributed-arp-table.c @@ -1012,6 +1012,8 @@ bool batadv_dat_snoop_incoming_arp_reply(struct batadv_priv *bat_priv, */ ret = !batadv_is_my_client(bat_priv, hw_dst); out: + if (ret) + kfree_skb(skb); /* if ret == false -> packet has to be delivered to the interface */ return ret; }