batman-adv: fix dat NULL pointer dereference
[feed/routing.git] / patches / 0001-batman-adv-fix-skb-leak-in-batadv_dat_snoop_incoming.patch
1 From 977d8c6f9253ad71e4bd8e4be2705c3bee684feb Mon Sep 17 00:00:00 2001
2 From: Matthias Schiffer <mschiffer@universe-factory.net>
3 Date: Wed, 23 Jan 2013 18:11:53 +0100
4 Subject: [PATCH 1/4] batman-adv: fix skb leak in
5 batadv_dat_snoop_incoming_arp_reply()
6
7 The callers of batadv_dat_snoop_incoming_arp_reply() assume the skb has been
8 freed when it returns true; fix this by calling kfree_skb before returning as
9 it is done in batadv_dat_snoop_incoming_arp_request().
10
11 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
12 Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 Acked-by: Antonio Quartulli <ordex@autistici.org>
14 ---
15 distributed-arp-table.c | 2 ++
16 1 file changed, 2 insertions(+)
17
18 diff --git a/distributed-arp-table.c b/distributed-arp-table.c
19 index 7485a78..9f4cff3 100644
20 --- a/distributed-arp-table.c
21 +++ b/distributed-arp-table.c
22 @@ -1012,6 +1012,8 @@ bool batadv_dat_snoop_incoming_arp_reply(struct batadv_priv *bat_priv,
23 */
24 ret = !batadv_is_my_client(bat_priv, hw_dst);
25 out:
26 + if (ret)
27 + kfree_skb(skb);
28 /* if ret == false -> packet has to be delivered to the interface */
29 return ret;
30 }
31 --
32 1.7.10.4
33