[libcamera-devel] [PATCH v2 4/4] libcamera: camera: Return -EINVAL if any stream is null while configure()

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Jun 2 22:43:22 CEST 2020


Hi Umang,

Thank you for the patch.

On Fri, May 15, 2020 at 12:42:54PM +0000, Umang Jain wrote:
> Fail and return the Camera::configure() operation if any
> of the stream turns out to be a nullptr even after the
> PipelineHandler handler seems to have configured the config
> successfully. This prevents a null-dereference below in the
> loop.
> 
> Pointed out by Coverity DefectId=279069
> 
> Signed-off-by: Umang Jain <email at uajain.com>

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

> ---
>  src/libcamera/camera.cpp | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
> index 8c3bb2c..9d2607b 100644
> --- a/src/libcamera/camera.cpp
> +++ b/src/libcamera/camera.cpp
> @@ -777,9 +777,12 @@ int Camera::configure(CameraConfiguration *config)
>  	p_->activeStreams_.clear();
>  	for (const StreamConfiguration &cfg : *config) {
>  		Stream *stream = cfg.stream();
> -		if (!stream)
> +		if (!stream) {
>  			LOG(Camera, Fatal)
>  				<< "Pipeline handler failed to update stream configuration";
> +			p_->activeStreams_.clear();
> +			return -EINVAL;
> +		}
>  
>  		stream->configuration_ = cfg;
>  		p_->activeStreams_.insert(stream);

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list