浏览代码

libertas: don't leak skb on receive error

Don't lead memory when receive errors

Signed-off-by: Philip Rakity <prakity@yahoo.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Philip Rakity 16 年之前
父节点
当前提交
f54930f363
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/net/wireless/libertas/rx.c

+ 2 - 0
drivers/net/wireless/libertas/rx.c

@@ -170,6 +170,7 @@ int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *skb)
 		lbs_deb_rx("rx err: frame received with bad length\n");
 		lbs_deb_rx("rx err: frame received with bad length\n");
 		dev->stats.rx_length_errors++;
 		dev->stats.rx_length_errors++;
 		ret = 0;
 		ret = 0;
+		dev_kfree_skb(skb);
 		goto done;
 		goto done;
 	}
 	}
 
 
@@ -181,6 +182,7 @@ int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *skb)
 		lbs_pr_alert("rxpd not ok\n");
 		lbs_pr_alert("rxpd not ok\n");
 		dev->stats.rx_errors++;
 		dev->stats.rx_errors++;
 		ret = 0;
 		ret = 0;
+		dev_kfree_skb(skb);
 		goto done;
 		goto done;
 	}
 	}