[libcamera-devel] [PATCH v2 2/4] simple-cam: Early return if no cameras are found on the system.

Umang Jain email at uajain.com
Tue Dec 1 18:43:12 CET 2020


Failing to do so, the codepath will segfault while trying to acquire
a non-existent camera.

Signed-off-by: Umang Jain <email at uajain.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 simple-cam.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/simple-cam.cpp b/simple-cam.cpp
index e88fb85..f844ff4 100644
--- a/simple-cam.cpp
+++ b/simple-cam.cpp
@@ -307,6 +307,13 @@ int main()
 	for (std::unique_ptr<Request> &request : requests)
 		camera->queueRequest(request.get());
 
+	if(!cm->cameras().size()) {
+		std::cout << "No cameras were identified on the system."
+			  << std::endl;
+		cm->stop();
+		return EXIT_FAILURE;
+	}
+
 	/*
 	 * --------------------------------------------------------------------
 	 * Run an EventLoop
-- 
2.26.2



More information about the libcamera-devel mailing list