[libcamera-devel] [PATCH v2 1/2] libcamera: pipeline: simple: Check converter_

Paul Elder paul.elder at ideasonboard.com
Tue Feb 28 07:50:06 CET 2023


On Mon, Feb 27, 2023 at 02:49:09PM -0800, Suhrid Subramaniam via libcamera-devel wrote:
> - If no converter is found, converter_ becomes a nullptr and
> !converter_->isValid() causes a segmentation fault.
> - Avoid this by checking if converter_ is a nullptr.
> 
> Signed-off-by: Suhrid Subramaniam <suhrid.subramaniam at mediatek.com>
> ---
>  src/libcamera/pipeline/simple/simple.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
> index 24ded4db..2423ec10 100644
> --- a/src/libcamera/pipeline/simple/simple.cpp
> +++ b/src/libcamera/pipeline/simple/simple.cpp
> @@ -493,7 +493,7 @@ int SimpleCameraData::init()
>  	MediaDevice *converter = pipe->converter();
>  	if (converter) {
>  		converter_ = ConverterFactoryBase::create(converter);
> -		if (!converter_->isValid()) {
> +		if (!converter_) {

We still need to check that the converter is valid if it exists.


Paul

>  			LOG(SimplePipeline, Warning)
>  				<< "Failed to create converter, disabling format conversion";
>  			converter_.reset();
> -- 
> 2.39.0
> 


More information about the libcamera-devel mailing list