diff options
author | Chuck Short <zulcss@gmail.com> | 2006-09-26 01:31:03 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-28 20:53:55 -0400 |
commit | 83e331e2a492a134e491bcf50c984fd50c7fae03 (patch) | |
tree | 47ebe92b328ba1456e9437d09c7da3d1fc233b96 /drivers/net/irda/via-ircc.c | |
parent | 293b9c42511d800b5f7bb2acba50f3e584b8c410 (diff) |
[IRDA] via-ircc: fix memory leak
Fix memory leak.
Coverity id# 653
patch location:
http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=a1f34cb68b16807ed9d5ebb0f6a6ec5ff8a5fc78
Signed-off-by: Chuck Short <zulcss@gmail.com>
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/irda/via-ircc.c')
-rw-r--r-- | drivers/net/irda/via-ircc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c index 79b85f327500..d916e1257c47 100644 --- a/drivers/net/irda/via-ircc.c +++ b/drivers/net/irda/via-ircc.c | |||
@@ -1223,8 +1223,13 @@ static int upload_rxdata(struct via_ircc_cb *self, int iobase) | |||
1223 | 1223 | ||
1224 | IRDA_DEBUG(2, "%s(): len=%x\n", __FUNCTION__, len); | 1224 | IRDA_DEBUG(2, "%s(): len=%x\n", __FUNCTION__, len); |
1225 | 1225 | ||
1226 | if ((len - 4) < 2) { | ||
1227 | self->stats.rx_dropped++; | ||
1228 | return FALSE; | ||
1229 | } | ||
1230 | |||
1226 | skb = dev_alloc_skb(len + 1); | 1231 | skb = dev_alloc_skb(len + 1); |
1227 | if ((skb == NULL) || ((len - 4) < 2)) { | 1232 | if (skb == NULL) { |
1228 | self->stats.rx_dropped++; | 1233 | self->stats.rx_dropped++; |
1229 | return FALSE; | 1234 | return FALSE; |
1230 | } | 1235 | } |