diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2021-05-15 23:08:07 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-05-15 23:08:07 +0000 |
commit | cca320a9a6d596b9873dbb4b359ebfe1960e9381 (patch) | |
tree | 426277bb609c35e29a7fdf0df051d7f178ea7682 | |
parent | 6d2d5a74fc6509e0aac555778a40d5c8c1f85a3d (diff) | |
parent | 683933cee1b7124b94c52360f5a4b2fa9517054e (diff) | |
download | wlan-cca320a9a6d596b9873dbb4b359ebfe1960e9381.tar.gz |
Snap for 7365855 from 683933cee1b7124b94c52360f5a4b2fa9517054e to sc-v2-release
Change-Id: I6b6b423e9afc1bb674b0028093dbf6731b8864a2
-rw-r--r-- | qcwcn/wifi_hal/llstats.cpp | 17 |
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; |