[libcamera-devel] [PATCH] libcamera: pipeline: ipu3: Prevent unintialised memory use

Jacopo Mondi jacopo at jmondi.org
Thu Feb 18 14:53:04 CET 2021


Hi Kieran,

On Thu, Feb 18, 2021 at 01:47:52PM +0000, Kieran Bingham wrote:
> The call to setFormat uses uninitialised data, which whilst
> not necessary a fault while setting, could cause unwanted effects.
>
> It is also trapped and reported by valgrind.
>
> Initialise the  V4L2SubdeviceFormat structure correctly before use.
                ^ double space :)

>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

Indeed that could cause the sensorFormat to have an invalid mbus_code
field which could trigger unwanted behaviour in SUBDEV_S_FMT

Acked-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 3e6b88af4188..e2353e890e0f 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -846,7 +846,7 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)
>  	 */
>
>  	/* Re-fetch the sensor info updated to use the largest resolution. */
> -	V4L2SubdeviceFormat sensorFormat;
> +	V4L2SubdeviceFormat sensorFormat = {};
>  	sensorFormat.size = sensor->resolution();
>  	ret = sensor->setFormat(&sensorFormat);
>  	if (ret)
> --
> 2.25.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list