staging: r8188eu: check firmware header existence before access
authorMichael Straube <straube.linux@gmail.com>
Sun, 17 Apr 2022 17:54:41 +0000 (19:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 16:31:19 +0000 (18:31 +0200)
We should access the fields of fwhdr only if the check for firmware
header existence is true. Move the affected code into the if block
that checks firmware header existence.

Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20220417175441.13830-9-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_fw.c

index 7c0653b..bf07787 100644 (file)
@@ -256,14 +256,13 @@ int rtl8188e_firmware_download(struct adapter *padapter)
        fw_data = dvobj->firmware.data;
        fw_size = dvobj->firmware.size;
 
-       /*  To Check Fw header. Added by tynli. 2009.12.04. */
        fwhdr = (struct rt_firmware_hdr *)dvobj->firmware.data;
 
-       pr_info_once("%sFirmware Version %d, SubVersion %d, Signature 0x%x\n",
-                    DRIVER_PREFIX, le16_to_cpu(fwhdr->version), fwhdr->subversion,
-                    le16_to_cpu(fwhdr->signature));
-
        if (IS_FW_HEADER_EXIST(fwhdr)) {
+               pr_info_once("%sFirmware Version %d, SubVersion %d, Signature 0x%x\n",
+                            DRIVER_PREFIX, le16_to_cpu(fwhdr->version), fwhdr->subversion,
+                            le16_to_cpu(fwhdr->signature));
+
                fw_data = fw_data + sizeof(struct rt_firmware_hdr);
                fw_size = fw_size - sizeof(struct rt_firmware_hdr);
        }