]> git.hungrycats.org Git - linux/commitdiff
[IRDA]: Fix SKB leaks in af_irda.c, from Arnaldo Carvalho de Melo.
authorJean Tourrilhes <jt@bougret.hpl.hp.com>
Tue, 4 Nov 2003 08:29:54 +0000 (00:29 -0800)
committerDavid S. Miller <davem@kernel.bkbits.net>
Tue, 4 Nov 2003 08:29:54 +0000 (00:29 -0800)
net/irda/af_irda.c

index 3553ff1a797847d90281a55fef80ef5843186457..ade0dcb1c8c94dc2bae3874bc8ce9d84c70e0eb4 100644 (file)
@@ -188,8 +188,10 @@ static void irda_connect_confirm(void *instance, void *sap,
        IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
        sk = self->sk;
-       if (sk == NULL)
+       if (sk == NULL) {
+               dev_kfree_skb(skb);
                return;
+       }
 
        dev_kfree_skb(skb);
        // Should be ??? skb_queue_tail(&sk->sk_receive_queue, skb);
@@ -248,8 +250,10 @@ static void irda_connect_indication(void *instance, void *sap,
        IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
        sk = self->sk;
-       if (sk == NULL)
+       if (sk == NULL) {
+               dev_kfree_skb(skb);
                return;
+       }
 
        /* How much header space do we need to reserve */
        self->max_header_size = max_header_size;