summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPragaspathi Thilagaraj <tpragasp@codeaurora.org>2018-05-04 19:10:11 +0530
committernshrivas <nshrivas@codeaurora.org>2018-05-04 14:06:14 -0700
commit3537f1af08367a61b066ca4cbc237e72d52f7baf (patch)
tree5135bf54696387eb1a7268e983940f69a2201866
parente276355654d46573068484744a26eae653b8c58c (diff)
qcacld-3.0: Fix possible buffer overread in wma_set_epno_network_list
In the function wma_set_epno_network_list, req->networks[i].ssid.ssId is copied into the destination params->networks[i].ssid.mac_ssid. But the ssid length is not considered while copying and WMI_MAC_MAX_SSID_LENGTH is used as the length for copying. This might result in possible buffer overread if the ssid length is not WMI_MAC_MAX_SSID_LENGTH. Similar issue is seen in wma_pno_start also. Use pno->aNetworks[i].ssId.length as the size to mem copy the ssid to the destination ssid buffer. Change-Id: Id3f579da97e398663b7d583f5f46d4671eabeae3 CRs-Fixed: 2233682
-rw-r--r--core/wma/src/wma_scan_roam.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c
index 54b9619ca608..ba839090d750 100644
--- a/core/wma/src/wma_scan_roam.c
+++ b/core/wma/src/wma_scan_roam.c
@@ -3872,7 +3872,7 @@ QDF_STATUS wma_pno_start(tp_wma_handle wma, tpSirPNOScanReq pno)
pno->aNetworks[i].ssId.length;
qdf_mem_copy(params->aNetworks[i].ssid.mac_ssid,
pno->aNetworks[i].ssId.ssId,
- WMI_MAC_MAX_SSID_LENGTH);
+ pno->aNetworks[i].ssId.length);
}
params->enable_pno_scan_randomization =
@@ -6360,7 +6360,7 @@ QDF_STATUS wma_set_epno_network_list(tp_wma_handle wma,
req->networks[i].ssid.length;
qdf_mem_copy(params->networks[i].ssid.mac_ssid,
req->networks[i].ssid.ssId,
- WMI_MAC_MAX_SSID_LENGTH);
+ req->networks[i].ssid.length);
}
}