summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Devin Moore <devinmoore@google.com> 2023-03-01 21:27:16 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-03-01 21:27:16 +0000
commit6a75c67483b9a78c092a2a01cd58f801355fc5d0 (patch)
tree50c3cda228f9f9df179c5ff4ab837e73f6ff3e13
parentc7b186ff3d5091ef7299e0943b8de73510198c54 (diff)
parentc73b265fa52f8e4aa30d373583da6c617dd39c21 (diff)
Check for malformed Sensor Flattenable am: 962b5a4d37 am: 938eb4a710 am: c73b265fa5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/21548268 Change-Id: I69213797bedec3d73ec534ec114e7a0efbdbd5c1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libs/sensor/Sensor.cpp6
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;
}