[libcamera-devel] [PATCH] cam: Fix cam --help crash
Niklas Söderlund
niklas.soderlund at ragnatech.se
Mon Jun 10 13:49:36 CEST 2019
The cam utility do not terminate correctly if invoked with only --help.
It prints the help information and then segfaults as the application is
not terminated correctly. Fix this by moving the return code check of
the option parsing to main().
Reported-by: Emmanuel Arias <eamanu at eamanu.com>
Suggested-by: Jacopo Mondi <jacopo at jmondi.org>
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
src/cam/main.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/cam/main.cpp b/src/cam/main.cpp
index dbf04917bcc5aa38..f03a9faf87fac865 100644
--- a/src/cam/main.cpp
+++ b/src/cam/main.cpp
@@ -61,7 +61,7 @@ int CamApp::init(int argc, char **argv)
ret = parseOptions(argc, argv);
if (ret < 0)
- return ret == -EINTR ? 0 : ret;
+ return ret;
cm_ = CameraManager::instance();
@@ -193,9 +193,11 @@ void signalHandler(int signal)
int main(int argc, char **argv)
{
CamApp app;
+ int ret;
- if (app.init(argc, argv))
- return EXIT_FAILURE;
+ ret = app.init(argc, argv);
+ if (ret)
+ return ret == -EINTR ? 0 : EXIT_FAILURE;
struct sigaction sa = {};
sa.sa_handler = &signalHandler;
--
2.21.0
More information about the libcamera-devel
mailing list