summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper Juhl <jj@chaosbits.net>2011-11-13 22:14:32 +0100
committerJohn W. Linville <linville@tuxdriver.com>2011-11-15 16:02:57 +0100
commitfe09b32a4361bea44169b2063e8c867cabb6a8ba (patch)
tree6669196f194348c76ca7fe0f2828555957476449
parentrt2x00: Fix sleep-while-atomic bug in powersaving code. (diff)
downloadlinux-fe09b32a4361bea44169b2063e8c867cabb6a8ba.tar.xz
linux-fe09b32a4361bea44169b2063e8c867cabb6a8ba.zip
Net, libertas: Resolve memory leak in if_spi_host_to_card()
If we hit the default case in the switch in if_spi_host_to_card() we'll leak the memory we allocated for 'packet'. This patch resolves the leak by freeing the allocated memory in that case. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Acked-by: Dan Williams <dcbw@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/libertas/if_spi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/if_spi.c b/drivers/net/wireless/libertas/if_spi.c
index 622ae6de0d8b..7059d9645dab 100644
--- a/drivers/net/wireless/libertas/if_spi.c
+++ b/drivers/net/wireless/libertas/if_spi.c
@@ -995,6 +995,7 @@ static int if_spi_host_to_card(struct lbs_private *priv,
spin_unlock_irqrestore(&card->buffer_lock, flags);
break;
default:
+ kfree(packet);
netdev_err(priv->dev, "can't transfer buffer of type %d\n",
type);
err = -EINVAL;