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...@itfac.mrt.ac.lk>
---
 drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c 
b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
index de8caa6cd418..b59c2aa3a9d8 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
@@ -436,7 +436,7 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, 
bool  bUsedWoWLANFw)
        if (pFirmware->fw_length > FW_8723B_SIZE) {
                rtStatus = _FAIL;
                DBG_871X_LEVEL(_drv_emerg_, "Firmware size:%u exceed %u\n", 
pFirmware->fw_length, FW_8723B_SIZE);
-               goto release_fw1;
+               goto exit;
        }
 
        pFirmwareBuf = pFirmware->fw_buffer_sz;
@@ -512,7 +512,6 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, 
bool  bUsedWoWLANFw)
 exit:
        kfree(pFirmware->fw_buffer_sz);
        kfree(pFirmware);
-release_fw1:
        kfree(pBTFirmware);
        DBG_871X(" <=== rtl8723b_FirmwareDownload()\n");
        return rtStatus;
-- 
2.17.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to