[libcamera-devel] [PATCH v2 4/4] libcamera: camera: Return -EINVAL if any stream is null while configure()
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Jun 2 11:36:28 CEST 2020
Hi Umang,
On 15/05/2020 13:42, 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
We've set a style for reporting tags as:
Reported-by: Coverity CID=279069
I've updated the tags in this branch when applying to my local tree, so
no need for you to repost, just an FYI.
We should probably create a checkstyle rule for it...
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Umang Jain <email at uajain.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
--
Kieran
More information about the libcamera-devel
mailing list