summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2021-05-15 23:08:07 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2021-05-15 23:08:07 +0000
commitcca320a9a6d596b9873dbb4b359ebfe1960e9381 (patch)
tree426277bb609c35e29a7fdf0df051d7f178ea7682
parent6d2d5a74fc6509e0aac555778a40d5c8c1f85a3d (diff)
parent683933cee1b7124b94c52360f5a4b2fa9517054e (diff)
downloadwlan-cca320a9a6d596b9873dbb4b359ebfe1960e9381.tar.gz
Snap for 7365855 from 683933cee1b7124b94c52360f5a4b2fa9517054e to sc-v2-release
Change-Id: I6b6b423e9afc1bb674b0028093dbf6731b8864a2
-rw-r--r--qcwcn/wifi_hal/llstats.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/qcwcn/wifi_hal/llstats.cpp b/qcwcn/wifi_hal/llstats.cpp
index 407a6c3..50b8149 100644
--- a/qcwcn/wifi_hal/llstats.cpp
+++ b/qcwcn/wifi_hal/llstats.cpp
@@ -1151,10 +1151,19 @@ int LLStatsCommand::handleResponse(WifiEvent &reply)
memset(pIfaceStat, 0, resultsBufSize);
if(mResultsParams.iface_stat) {
- memcpy ( pIfaceStat, mResultsParams.iface_stat,
- sizeof(wifi_iface_stat));
- free (mResultsParams.iface_stat);
- mResultsParams.iface_stat = pIfaceStat;
+ if(resultsBufSize >= sizeof(wifi_iface_stat)) {
+ memcpy ( pIfaceStat, mResultsParams.iface_stat,
+ sizeof(wifi_iface_stat));
+ free (mResultsParams.iface_stat);
+ mResultsParams.iface_stat = pIfaceStat;
+ } else {
+ ALOGE("%s: numPeers = %u, num_rates= %u, "
+ "either numPeers or num_rates is invalid",
+ __FUNCTION__,numPeers,num_rates);
+ status = WIFI_ERROR_UNKNOWN;
+ free(pIfaceStat);
+ goto cleanup;
+ }
}
wifi_peer_info *pPeerStats;
pIfaceStat->num_peers = numPeers;