[libcamera-devel] [PATCH 1/1] qcam: Fix crash when switching from non existant camera

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Sep 7 22:13:36 CEST 2022


Hi Utkarsh,

Thank you for the patch.

On Wed, Sep 07, 2022 at 10:05:04PM +0530, Utkarsh Tiwari via libcamera-devel wrote:
> When switching to different camera we try to release the camera
> previously used. But if that camera has been unplugged, then its
> instance would have been destroyed. Accessing it leads to seg fault.
> 
> Fix by checking camera_ to see if it exists.
> 
> Bug: https://bugs.libcamera.org/show_bug.cgi?id=147
> Signed-off-by: Utkarsh Tiwari <utkarsh02t at gmail.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  src/qcam/main_window.cpp | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
> index 6fe36168..e0e5092e 100644
> --- a/src/qcam/main_window.cpp
> +++ b/src/qcam/main_window.cpp
> @@ -284,7 +284,9 @@ void MainWindow::switchCamera()
>  	 */
>  	startStopAction_->setChecked(false);
>  
> -	camera_->release();
> +	if (camera_)
> +		camera_->release();
> +
>  	camera_ = cam;
>  
>  	startStopAction_->setChecked(true);

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list