Fix camera ID validation
Check for id being <0 before checking its upper boundary
Change-Id: I92ed1ac78f35b5d6bbdd24cc041b2cfb4c121c74
diff --git a/tools/emulator/system/camera/EmulatedCameraFactory.cpp b/tools/emulator/system/camera/EmulatedCameraFactory.cpp
index 9bfc726..5c5c5de 100755
--- a/tools/emulator/system/camera/EmulatedCameraFactory.cpp
+++ b/tools/emulator/system/camera/EmulatedCameraFactory.cpp
@@ -123,7 +123,7 @@
return -EINVAL;
}
- if (camera_id >= getEmulatedCameraNum()) {
+ if (camera_id < 0 || camera_id >= getEmulatedCameraNum()) {
LOGE("%s: Camera id %d is out of bounds (%d)",
__FUNCTION__, camera_id, getEmulatedCameraNum());
return -EINVAL;
@@ -141,7 +141,7 @@
return -EINVAL;
}
- if (camera_id >= getEmulatedCameraNum()) {
+ if (camera_id < 0 || camera_id >= getEmulatedCameraNum()) {
LOGE("%s: Camera id %d is out of bounds (%d)",
__FUNCTION__, camera_id, getEmulatedCameraNum());
return -EINVAL;
diff --git a/tools/emulator/system/camera/EmulatedFakeCamera.cpp b/tools/emulator/system/camera/EmulatedFakeCamera.cpp
index 3b6e91b..d82fd78 100755
--- a/tools/emulator/system/camera/EmulatedFakeCamera.cpp
+++ b/tools/emulator/system/camera/EmulatedFakeCamera.cpp
@@ -50,11 +50,10 @@
}
/* Fake camera facing is defined by the qemu.sf.fake_camera boot property. */
- const char* facing = EmulatedCamera::FACING_BACK;
char prop[PROPERTY_VALUE_MAX];
- if (property_get("qemu.sf.fake_camera", prop, NULL) > 0) {
- facing = prop;
- }
+ property_get("qemu.sf.fake_camera", prop, EmulatedCamera::FACING_BACK);
+ const char* facing = prop;
+
mParameters.set(EmulatedCamera::FACING_KEY, facing);
LOGD("%s: Fake camera is facing %s", __FUNCTION__, facing);