diff --git a/drivers/net/wireless/qcacld-2.0/CORE/MAC/src/pe/rrm/rrmApi.c b/drivers/net/wireless/qcacld-2.0/CORE/MAC/src/pe/rrm/rrmApi.c index c0afd8f4868b..e924de593a89 100644 --- a/drivers/net/wireless/qcacld-2.0/CORE/MAC/src/pe/rrm/rrmApi.c +++ b/drivers/net/wireless/qcacld-2.0/CORE/MAC/src/pe/rrm/rrmApi.c @@ -708,14 +708,14 @@ rrmFillBeaconIes( tpAniSirGlobal pMac, *((tANI_U16*)pIes) = pBssDesc->capabilityInfo; *pNumIes+=sizeof(tANI_U16); pIes+=sizeof(tANI_U16); - while ( BcnNumIes > 0 ) + while ( BcnNumIes >= 2 ) { len = *(pBcnIes + 1); len += 2; //element id + length. limLog( pMac, LOG3, "EID = %d, len = %d total = %d", *pBcnIes, *(pBcnIes+1), len ); - if (BcnNumIes < len) { + if (BcnNumIes < len || len <= 2) { limLog(pMac, LOGE, "RRM: Invalid IE len: %d, exp_len: %d", len, BcnNumIes); break;