commit | c90f4c7c5838e4dee2f550c4d581e7205e666faa | [log] [tgz] |
---|---|---|
author | Yuvraj Pasi <ypasi@nvidia.com> | Tue Apr 15 19:03:26 2014 +0530 |
committer | Yuvraj Pasi <ypasi@nvidia.com> | Mon May 12 12:15:42 2014 +0530 |
tree | dcba88eb3d13d02b3eab49d000f35a6dbed30e1c | |
parent | 4f53fe74051026e6635ba5bdbed4f1898cb66028 [diff] |
camera: check Intent entry count before reading it In case when find() returns empty entry, blindly reading the entry will cause segfault Change-Id: Ib5be7fd855c409ba3b45f0d43e15237367172817
diff --git a/services/camera/libcameraservice/api1/client2/Parameters.cpp b/services/camera/libcameraservice/api1/client2/Parameters.cpp index 0cceb76..6c2872a 100644 --- a/services/camera/libcameraservice/api1/client2/Parameters.cpp +++ b/services/camera/libcameraservice/api1/client2/Parameters.cpp
@@ -1750,6 +1750,9 @@ camera_metadata_entry_t intent = request->find(ANDROID_CONTROL_CAPTURE_INTENT); + + if (intent.count == 0) return BAD_VALUE; + if (intent.data.u8[0] == ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE) { res = request->update(ANDROID_CONTROL_AE_TARGET_FPS_RANGE, fastInfo.bestStillCaptureFpsRange, 2);