diff options
| author | Jesper Juhl <jj@chaosbits.net> | 2011-11-13 16:14:32 -0500 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2011-11-15 10:02:57 -0500 |
| commit | fe09b32a4361bea44169b2063e8c867cabb6a8ba (patch) | |
| tree | 6669196f194348c76ca7fe0f2828555957476449 | |
| parent | ed66ba472a742cd8df37d7072804b2111cdb1014 (diff) | |
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.c | 1 |
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, | |||
| 995 | spin_unlock_irqrestore(&card->buffer_lock, flags); | 995 | spin_unlock_irqrestore(&card->buffer_lock, flags); |
| 996 | break; | 996 | break; |
| 997 | default: | 997 | default: |
| 998 | kfree(packet); | ||
| 998 | netdev_err(priv->dev, "can't transfer buffer of type %d\n", | 999 | netdev_err(priv->dev, "can't transfer buffer of type %d\n", |
| 999 | type); | 1000 | type); |
| 1000 | err = -EINVAL; | 1001 | err = -EINVAL; |
