prima: Trim extn capability to max supported in change station

extn capabilities can be controlled by user, which can
be sent greater than the max supported value. This results
in stack overflow in change station command.

Add check to validate extn capability param given by user
and if it exceeds max supported value, set it to max supported
value.

CRs-Fixed: 2044820
Change-Id: I531799dd06c41069e85ad969de6182363dbf9f05
Bug: 36817798
Signed-off-by: Srinivas Girigowda <sgirigow@codeaurora.org>
This commit is contained in:
Srinivas Girigowda
2020-05-21 10:55:45 +02:00
committed by Francescodario Cuzzocrea
parent 6347c8aaa2
commit bf9446a20f
@@ -8892,9 +8892,16 @@ static int __wlan_hdd_change_station(struct wiphy *wiphy,
StaParams.supported_oper_classes_len =
params->supported_oper_classes_len;
if (params->ext_capab_len > sizeof(StaParams.extn_capability)) {
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
"received extn capabilities: %d, reset to max supported",
params->ext_capab_len);
params->ext_capab_len = sizeof(StaParams.extn_capability);
}
if (0 != params->ext_capab_len)
vos_mem_copy(StaParams.extn_capability, params->ext_capab,
sizeof(StaParams.extn_capability));
params->ext_capab_len);
if (NULL != params->ht_capa)
{