]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/pppoe.c
pppoe: Fix socket leak.
[linux-2.6-omap-h63xx.git] / drivers / net / pppoe.c
index fc6f4b8c64b35cc169ab228c9c130b6ed0a4c821..b646e92134dc79a6bbfe6e55f7c80fd0ea19d3f1 100644 (file)
@@ -399,11 +399,11 @@ static int pppoe_rcv(struct sk_buff *skb,
        if (skb->len < len)
                goto drop;
 
-       po = get_item(ph->sid, eth_hdr(skb)->h_source, dev->ifindex);
-       if (!po)
+       if (pskb_trim_rcsum(skb, len))
                goto drop;
 
-       if (pskb_trim_rcsum(skb, len))
+       po = get_item(ph->sid, eth_hdr(skb)->h_source, dev->ifindex);
+       if (!po)
                goto drop;
 
        return sk_receive_skb(sk_pppox(po), skb, 0);