summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorAntonio Quartulli <antonio@open-mesh.com>2014-02-11 17:05:07 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-06 22:06:16 -0800
commitd74be7ef96bd38e40a3b19f431fc0e696249bed8 (patch)
tree3dbe8b82d2d69e9ccef0dc842facb6a250ae387e /net
parent176890fa4f29c7dbbbe6a6d5eb761d8c064c1efa (diff)
batman-adv: free skb on TVLV parsing success
[ Upstream commit 05c3c8a636aa9ee35ce13f65afc5b665615cc786 ] 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 <russell@personaltelco.net> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Tested-by: Russell Senior <russell@personaltelco.net> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/batman-adv/routing.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
index cd9ffdb831d9..d1e8a147f381 100644
--- a/net/batman-adv/routing.c
+++ b/net/batman-adv/routing.c
@@ -1063,6 +1063,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;
}