From c42e937e9a8d50a4a8c32d2ecf50267ff2bb1023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?YOSHIFUJI=20Hideaki=20/=20=E5=90=89=E8=97=A4=E8=8B=B1?= =?UTF-8?q?=E6=98=8E?= Date: Mon, 15 Mar 2010 19:26:56 +0000 Subject: [PATCH] --- yaml --- r: 188157 b: refs/heads/master c: 8440853bb70010f2f8edc26cb0f7af60da8b2c5a h: refs/heads/master i: 188155: 73ef71eab2315fe49d1dab035d3f9efb34871f2b v: v3 --- [refs] | 2 +- trunk/net/bridge/br_multicast.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index a9ea7eb1bf2b..8202844489bf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0ba8c9ec25465cd0680b80c0f5836f558e3b972d +refs/heads/master: 8440853bb70010f2f8edc26cb0f7af60da8b2c5a diff --git a/trunk/net/bridge/br_multicast.c b/trunk/net/bridge/br_multicast.c index 19618f25b4c6..6980625537ca 100644 --- a/trunk/net/bridge/br_multicast.c +++ b/trunk/net/bridge/br_multicast.c @@ -991,7 +991,7 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br, err = pskb_trim_rcsum(skb2, len); if (err) - return err; + goto err_out; } len -= ip_hdrlen(skb2); @@ -1013,7 +1013,7 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br, case CHECKSUM_NONE: skb2->csum = 0; if (skb_checksum_complete(skb2)) - return -EINVAL; + goto out; } err = 0; @@ -1040,6 +1040,7 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br, out: __skb_push(skb2, offset); +err_out: if (skb2 != skb) kfree_skb(skb2); return err;