[libcamera-devel] [PATCH 2/2] libcamera: pipeline: simple: Initialize V4L2DeviceFormat before use

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Oct 21 15:32:21 CEST 2020


Hi Laurent,

Thanks for your work.

On 2020-10-21 05:47:44 +0300, Laurent Pinchart wrote:
> The V4L2DeviceFormat has no default constructor. Zero it before use when
> setting formats. Failure to do so leaves the planes uninitialized,
> potentially causing memory corruption.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> ---
>  src/libcamera/pipeline/simple/converter.cpp | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp
> index b4ee021f6210..b3705abcd626 100644
> --- a/src/libcamera/pipeline/simple/converter.cpp
> +++ b/src/libcamera/pipeline/simple/converter.cpp
> @@ -72,7 +72,7 @@ std::vector<PixelFormat> SimpleConverter::formats(PixelFormat input)
>  	 * Set the format on the input side (V4L2 output) of the converter to
>  	 * enumerate the conversion capabilities on its output (V4L2 capture).
>  	 */
> -	V4L2DeviceFormat format;
> +	V4L2DeviceFormat format = {};
>  	format.fourcc = m2m_->output()->toV4L2PixelFormat(input);
>  	format.size = { 1, 1 };
>  
> @@ -103,7 +103,7 @@ SizeRange SimpleConverter::sizes(const Size &input)
>  	 * Set the size on the input side (V4L2 output) of the converter to
>  	 * enumerate the scaling capabilities on its output (V4L2 capture).
>  	 */
> -	V4L2DeviceFormat format;
> +	V4L2DeviceFormat format = {};
>  	format.fourcc = V4L2PixelFormat();
>  	format.size = input;
>  
> @@ -142,7 +142,7 @@ SizeRange SimpleConverter::sizes(const Size &input)
>  int SimpleConverter::configure(PixelFormat inputFormat, const Size &inputSize,
>  			       StreamConfiguration *cfg)
>  {
> -	V4L2DeviceFormat format;
> +	V4L2DeviceFormat format = {};
>  	int ret;
>  
>  	V4L2PixelFormat videoFormat = m2m_->output()->toV4L2PixelFormat(inputFormat);
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list