| From fe09b32a4361bea44169b2063e8c867cabb6a8ba Mon Sep 17 00:00:00 2001 |
| From: Jesper Juhl <jj@chaosbits.net> |
| Date: Sun, 13 Nov 2011 22:14:32 +0100 |
| Subject: Net, libertas: Resolve memory leak in if_spi_host_to_card() |
| |
| From: Jesper Juhl <jj@chaosbits.net> |
| |
| commit fe09b32a4361bea44169b2063e8c867cabb6a8ba upstream. |
| |
| 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> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/net/wireless/libertas/if_spi.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/net/wireless/libertas/if_spi.c |
| +++ b/drivers/net/wireless/libertas/if_spi.c |
| @@ -997,6 +997,7 @@ static int if_spi_host_to_card(struct lb |
| 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; |