diff options
| author | 2023-02-17 17:12:46 +0000 | |
|---|---|---|
| committer | 2023-02-22 23:28:03 +0000 | |
| commit | f1aa5fb53437ec2fabc9be00099af836da5f07f2 (patch) | |
| tree | c34412788fcea8e33a73f76c32f0a41b0f97f011 /libs | |
| parent | 03d4458ea0cb00c28f695d99aae5e4c6b15fc237 (diff) | |
Check for malformed Sensor Flattenable
Test: libsensorserviceaidl_fuzzer with testcase from bug
Bug: 269014004
Merged-In: I0e255c64243c38876fb657cbf942fc1613363216
Change-Id: I0e255c64243c38876fb657cbf942fc1613363216
(cherry picked from commit aeec1802f7befc8fbb18313ad3ac0969c3811870)
Merged-In: I0e255c64243c38876fb657cbf942fc1613363216
Diffstat (limited to 'libs')
| -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 9d817ae0bd..d71f27106e 100644 --- a/libs/sensor/Sensor.cpp +++ b/libs/sensor/Sensor.cpp @@ -595,7 +595,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; } |