staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data()
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 22 Apr 2017 10:47:23 +0000 (13:47 +0300)
committerSasha Levin <alexander.levin@verizon.com>
Mon, 26 Jun 2017 02:02:21 +0000 (22:02 -0400)
[ Upstream commit 784047eb2d3405a35087af70cba46170c5576b25 ]

The "len" could be as low as -14 so we should check for negatives.

Fixes: 9a7fe54ddc3a ("staging: r8188eu: Add source files for new driver - part 1")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
drivers/staging/rtl8188eu/core/rtw_ap.c

index e65ee6e858a8b15455bdd646d9fc5e5ba169f712..82d46b6334fb80417f781f25e2fe660e2c72f7f7 100644 (file)
@@ -871,7 +871,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;