Skip to content

Commit

Permalink
staging: csr: fix possible memory leak in do_patch_convert_download()
Browse files Browse the repository at this point in the history
pfw has been allocated in function xbv_to_patch() and should be
freed before leaving from the error handling cases.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Wei Yongjun authored and Greg Kroah-Hartman committed Sep 4, 2012
1 parent 37905ae commit c8be681
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/staging/csr/csr_wifi_hip_download.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ static CsrResult do_patch_convert_download(card_t *card, void *dlpriv, xbv1_t *p
if (r != CSR_RESULT_SUCCESS)
{
unifi_error(card->ospriv, "Failed to find BOOT_LOADER_CONTROL\n");
kfree(pfw);
return CSR_RESULT_FAILURE;
}

Expand All @@ -265,6 +266,7 @@ static CsrResult do_patch_convert_download(card_t *card, void *dlpriv, xbv1_t *p
desc = unifi_fw_open_buffer(card->ospriv, pfw, psize);
if (!desc)
{
kfree(pfw);
return CSR_WIFI_HIP_RESULT_NO_MEMORY;
}

Expand Down

0 comments on commit c8be681

Please sign in to comment.