Subject: [PATCH 08/10] batman-adv: free skb on TVLV parsing success

From: Antonio Quartulli <[email-masked]>
Date: Mon, 17 Feb 2014 21:48:47 +0100

From: Antonio Quartulli <[email-masked]>

When the TVLV parsing routine succeed the skb is left
untouched thus leading to a memory leak.

Fix this by consuming the skb in case of success.

Introduced by ef26157747d42254453f6b3ac2bd8bd3c53339c3
("batman-adv: tvlv - basic infrastructure")

Reported-by: Russel Senior <[email-masked]>
Signed-off-by: Antonio Quartulli <[email-masked]>
Tested-by: Russell Senior <[email-masked]>
Signed-off-by: Marek Lindner <[email-masked]>
---
 net/batman-adv/routing.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
index c26f073..a953d5b 100644
--- a/net/batman-adv/routing.c
+++ b/net/batman-adv/routing.c
@@ -918,6 +918,8 @@ int batadv_recv_unicast_tvlv(struct sk_buff *skb,
 
 	if (ret != NET_RX_SUCCESS)
 		ret = batadv_route_unicast_packet(skb, recv_if);
+	else
+		consume_skb(skb);
 
 	return ret;
 }
-- 
1.8.5.3