[libcamera-devel] [PATCH] hal: Fix comparison of unsigned integer < 0

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Aug 15 14:23:32 CEST 2019


The CameraHalManager::getCameraInfo() validates the camera id it
receives from the camera service, and in doing so generates a compiler
error as the id is an unsigned integer and can never be negative:

../src/android/camera_hal_manager.cpp: In member function ‘CameraProxy* CameraHalManager::open(unsigned int, const hw_module_t*)’:
../src/android/camera_hal_manager.cpp:89:9: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
  if (id < 0 || id >= numCameras()) {

Fix it by removing the unneeded comparison.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/android/camera_hal_manager.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp
index 1e66f63240da..37ba01355258 100644
--- a/src/android/camera_hal_manager.cpp
+++ b/src/android/camera_hal_manager.cpp
@@ -86,7 +86,7 @@ void CameraHalManager::run()
 CameraProxy *CameraHalManager::open(unsigned int id,
 				    const hw_module_t *hardwareModule)
 {
-	if (id < 0 || id >= numCameras()) {
+	if (id >= numCameras()) {
 		LOG(HAL, Error) << "Invalid camera id '" << id << "'";
 		return nullptr;
 	}
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list