summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-03-21 19:25:20 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-03-21 19:25:20 +0000
commit970e03c6c25fcc971acb3547867a96d84e082889 (patch)
treea91d02be5bfee3b50e8286b5626df83b69bb9255
parentb2e8c5a20709ff8273236ab76f3a2caa9b83630e (diff)
parent0ab4364ee8330abc553c4aef1266d829c11b5958 (diff)
downloadnative-970e03c6c25fcc971acb3547867a96d84e082889.tar.gz
Merge cherrypicks of [3775466, 3774310, 3774548, 3774358, 3774359, 3774360, 3774361, 3774362, 3774363, 3775784, 3775785, 3775786, 3775787, 3775788, 3775789, 3774751, 3774549, 3774202, 3774203, 3774752] into oc-m2-release
Change-Id: Iac89f88e62d9bf104afa3955634babe485c42d40
-rw-r--r--services/sensorservice/SensorService.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp
index dc491d97c0..e5b6dcf750 100644
--- a/services/sensorservice/SensorService.cpp
+++ b/services/sensorservice/SensorService.cpp
@@ -21,6 +21,7 @@
#include <cutils/properties.h>
#include <hardware/sensors.h>
#include <hardware_legacy/power.h>
+#include <log/log.h>
#include <openssl/digest.h>
#include <openssl/hmac.h>
#include <openssl/rand.h>
@@ -993,10 +994,15 @@ sp<ISensorEventConnection> SensorService::createSensorDirectConnection(
// check specific to memory type
switch(type) {
case SENSOR_DIRECT_MEM_TYPE_ASHMEM: { // channel backed by ashmem
+ if (resource->numFds < 1) {
+ ALOGE("Ashmem direct channel requires a memory region to be supplied");
+ android_errorWriteLog(0x534e4554, "70986337"); // SafetyNet
+ return nullptr;
+ }
int fd = resource->data[0];
int size2 = ashmem_get_size_region(fd);
// check size consistency
- if (size2 < static_cast<int>(size)) {
+ if (size2 < static_cast<int64_t>(size)) {
ALOGE("Ashmem direct channel size %" PRIu32 " greater than shared memory size %d",
size, size2);
return nullptr;