ipv4: fix a memory leak in ic_bootp_send_if
when dev_hard_header() failed, the newly allocated skb should be freed. Signed-off-by: RongQing.Li <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
5219e4c93c
Коммит
ad79eefc42
|
@ -822,8 +822,13 @@ static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_d
|
|||
skb->dev = dev;
|
||||
skb->protocol = htons(ETH_P_IP);
|
||||
if (dev_hard_header(skb, dev, ntohs(skb->protocol),
|
||||
dev->broadcast, dev->dev_addr, skb->len) < 0 ||
|
||||
dev_queue_xmit(skb) < 0)
|
||||
dev->broadcast, dev->dev_addr, skb->len) < 0) {
|
||||
kfree_skb(skb);
|
||||
printk("E");
|
||||
return;
|
||||
}
|
||||
|
||||
if (dev_queue_xmit(skb) < 0)
|
||||
printk("E");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче