diff options
author | Devin Moore <devinmoore@google.com> | 2023-03-01 19:56:28 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-03-01 19:56:28 +0000 |
commit | 1662aa93ceda0567d8462230de06501f37952dee (patch) | |
tree | d6e06ee396198de3ee81102266d2560e9fa01db9 | |
parent | 8244a8b367e137256cd429349972d5cbb57eaca6 (diff) | |
parent | 962b5a4d37bb13568ae4d93d10db9a3eb5166a38 (diff) | |
download | native-1662aa93ceda0567d8462230de06501f37952dee.tar.gz |
Check for malformed Sensor Flattenable am: 962b5a4d37
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/21548268
Change-Id: Ia08b53e80f81c824595bfd63eca732ee9598dd5f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | libs/sensor/Sensor.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/sensor/Sensor.cpp b/libs/sensor/Sensor.cpp index ec0ced8663..b865c4d5d6 100644 --- a/libs/sensor/Sensor.cpp +++ b/libs/sensor/Sensor.cpp @@ -632,7 +632,13 @@ bool Sensor::unflattenString8(void const*& buffer, size_t& size, String8& output return false; } outputString8.setTo(static_cast<char const*>(buffer), len); + + if (size < FlattenableUtils::align<4>(len)) { + ALOGE("Malformed Sensor String8 field. Should be in a 4-byte aligned buffer but is not."); + return false; + } FlattenableUtils::advance(buffer, size, FlattenableUtils::align<4>(len)); + return true; } |