diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-09-08 10:48:46 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-09-16 14:21:28 +0300 |
commit | de20029a582a71a87d99388a62fb63c86e85028a (patch) | |
tree | 9bffafeabdb1104444550094fa7cdab06a0f0405 /src/android/camera3_hal.cpp | |
parent | 219cbfe76b5a7d9d8206c71aa6115ff8befcff9b (diff) |
android: Protect against null callbacks
According to the Android camera HAL C interface documentation, the
camera service is supposed to set callbacks after initializing the HAL
and calling get_number_of_cameras(), before any other calls to the
module. We rely on this behaviour and use callbacks unconditionally,
which would lead to a crash if the camera service behaved incorrectly.
While the camera service isn't supposed to behave incorrectly,
gracefully handling the error when opening cameras isn't costly, and
provides better diagnostic than a crash.
While at it, removed an unneeded [[maybe_unused]] attribute.
Reported-by: Coverity CID=298638
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Umang Jain <email@uajain.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/android/camera3_hal.cpp')
-rw-r--r-- | src/android/camera3_hal.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp index 67a497b8..d6e04af2 100644 --- a/src/android/camera3_hal.cpp +++ b/src/android/camera3_hal.cpp @@ -32,7 +32,7 @@ static int hal_get_camera_info(int id, struct camera_info *info) return cameraManager.getCameraInfo(id, info); } -static int hal_set_callbacks([[maybe_unused]] const camera_module_callbacks_t *callbacks) +static int hal_set_callbacks(const camera_module_callbacks_t *callbacks) { cameraManager.setCallbacks(callbacks); |