summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2015-07-18 01:39:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-07-18 01:39:21 +0000
commitf6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e (patch)
tree7f96f8c7ebb56d5865ae8f6b993615f4f203b12c /services
parentb9f72ab0b0b7582e021d369e7179022f7be5b37d (diff)
parenteff134a61a5dd081ee578628704a66dca24e0cf7 (diff)
downloadframeworks_av-f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e.zip
frameworks_av-f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e.tar.gz
frameworks_av-f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e.tar.bz2
Merge "Fix UAF error in CameraModule." into mnc-dev
Diffstat (limited to 'services')
-rw-r--r--services/camera/libcameraservice/common/CameraModule.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/common/CameraModule.cpp b/services/camera/libcameraservice/common/CameraModule.cpp
index 1ae01ae..6a4dfe0 100644
--- a/services/camera/libcameraservice/common/CameraModule.cpp
+++ b/services/camera/libcameraservice/common/CameraModule.cpp
@@ -136,9 +136,10 @@ void CameraModule::deriveCameraCharacteristicsKeys(
// Always add a default for the pre-correction active array if the vendor chooses to omit this
camera_metadata_entry entry = chars.find(ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE);
if (entry.count == 0) {
+ Vector<int32_t> preCorrectionArray;
entry = chars.find(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE);
- chars.update(ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE, entry.data.i32,
- entry.count);
+ preCorrectionArray.appendArray(entry.data.i32, entry.count);
+ chars.update(ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE, preCorrectionArray);
}
return;