mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-17 01:15:06 +03:00
cam: Fix cam --help crash
The cam utility does not terminate correctly if invoked with only --help. It prints the help information and then segfaults due to the application incorrectly handling the return value. Fix this by moving the return code check of the option parsing to main(). Reported-by: Emmanuel Arias <eamanu@eamanu.com> Suggested-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
3353400027
commit
238919be59
1 changed files with 5 additions and 3 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue