lkml.org 
[lkml]   [2022]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] rtl8723bs: fix memory leak error
On Wed, Jan 05, 2022 at 06:04:47PM +0530, F.A.Sulaiman wrote:
> Smatch reported memory leak bug in rtl8723b_FirmwareDownload function.
> The problem is pFirmware memory is not released in 'release_fw1'.
> Instead of redirecting to 'release_fw1', we can turn it into 'exit'
> and free the memory.
>
> Signed-off-by: F.A. SULAIMAN <asha.16@itfac.mrt.ac.lk>
> ---

Please say what changed in between v1 and v2 here, below the --- cut
off line.

> drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> index f1fc077ed29c..5f09b3ef9459 100644
> --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> @@ -361,7 +361,7 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
> netdev_emerg(padapter->pnetdev,
> "Firmware size:%u exceed %u\n",
> pFirmware->fw_length, FW_8723B_SIZE);
> - goto release_fw1;
> + goto exit;

I replied to the v1 version of this patch to say that this path needs
to call release_firmware(). That's true, although my proposed solution
introduced a double free. The better way in this case is to call
release_firmware() before the goto. The pattern is "unwind temporary
things and partial iterations before the goto".

The other stuff that I said in my email is still correct. Just re-write
the error handling completely. No point in me reviewing the function
every couple weeks when we could easily just fix it instead.

regards,
dan carpenter

\
 
 \ /
  Last update: 2022-01-05 15:38    [W:0.089 / U:0.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site