summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuyang Huang <yuyanghuang@google.com>2024-03-29 13:29:18 +0900
committerYuyang Huang <yuyanghuang@google.com>2024-03-29 13:29:18 +0900
commit1619671c67999aca6bb3855c4a7c761b84a93a3e (patch)
treee3a4c46e6b10d930907dc3469be71b571ba456f8
parent0734a63dfcbd47ca75cb9602d145088628060856 (diff)
downloadgoldfish-1619671c67999aca6bb3855c4a7c761b84a93a3e.tar.gz
Enhance size check in readPacketFilter to prevent overflow
Test: TH Change-Id: I04dae5a2faf3e779bfc9644416e61d9db71af402
-rw-r--r--wifi/wifi_hal/interface.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/wifi/wifi_hal/interface.cpp b/wifi/wifi_hal/interface.cpp
index a79f900b..45ef7fb2 100644
--- a/wifi/wifi_hal/interface.cpp
+++ b/wifi/wifi_hal/interface.cpp
@@ -269,7 +269,7 @@ wifi_error Interface::getPacketFilterCapabilities(u32* version,
wifi_error Interface::readPacketFilter(u32 src_offset, u8 *host_dst, u32 length) {
if (src_offset >= mApfMemory.size() || host_dst == nullptr
- || src_offset + length > mApfMemory.size()) {
+ || length > mApfMemory.size() - src_offset) {
return WIFI_ERROR_INVALID_ARGS;
}
std::copy(mApfMemory.begin() + src_offset, mApfMemory.begin() + src_offset + length, host_dst);