staging: rtl8723bs: Prevent an underflow in rtw_check_beacon_data().
authorMurray McAllister <[email protected]>
Mon, 2 Jul 2018 01:07:28 +0000 (13:07 +1200)
committerGreg Kroah-Hartman <[email protected]>
Mon, 2 Jul 2018 08:45:39 +0000 (10:45 +0200)
Dan Carpenter reported an integer underflow issue in the rtl8188eu driver.
This is also needed for the length (signed integer) in rtl8723bs, as it is
later converted to an unsigned integer and used in a memcpy operation.

Original issue is at https://patchwork.kernel.org/patch/9796371/

Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Murray McAllister <[email protected]>
Cc: stable <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/staging/rtl8723bs/core/rtw_ap.c

index 45c05527a57a327a7490acfe889581cfe0bb41ba..faf4b4158cfa2c174ea2f68c3829f7933d64c35f 100644 (file)
@@ -1051,7 +1051,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
                return _FAIL;
 
 
-       if (len > MAX_IE_SZ)
+       if (len < 0 || len > MAX_IE_SZ)
                return _FAIL;
 
        pbss_network->IELength = len;