Re: [PATCH v2 5/8] [media] tvp514x: Check v4l2_of_parse_endpoint() return value

From: Lad, Prabhakar
Date: Wed Jan 13 2016 - 05:41:02 EST


On Mon, Jan 11, 2016 at 4:47 PM, Javier Martinez Canillas
<javier@xxxxxxxxxxxxxxx> wrote:
> The v4l2_of_parse_endpoint() function can fail so check the return value.
>
> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>
> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
>
Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>

Regards,
--Prabhakar Lad

> ---
>
> Changes in v2:
> - Assign pdata to NULL in case v4l2_of_parse_endpoint() fails before kzalloc.
> Suggested by Sakari Ailus.
>
> drivers/media/i2c/tvp514x.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/i2c/tvp514x.c b/drivers/media/i2c/tvp514x.c
> index 7fa5f1e4fe37..7cdd94842938 100644
> --- a/drivers/media/i2c/tvp514x.c
> +++ b/drivers/media/i2c/tvp514x.c
> @@ -1001,7 +1001,7 @@ static struct tvp514x_decoder tvp514x_dev = {
> static struct tvp514x_platform_data *
> tvp514x_get_pdata(struct i2c_client *client)
> {
> - struct tvp514x_platform_data *pdata;
> + struct tvp514x_platform_data *pdata = NULL;
> struct v4l2_of_endpoint bus_cfg;
> struct device_node *endpoint;
> unsigned int flags;
> @@ -1013,11 +1013,13 @@ tvp514x_get_pdata(struct i2c_client *client)
> if (!endpoint)
> return NULL;
>
> + if (v4l2_of_parse_endpoint(endpoint, &bus_cfg))
> + goto done;
> +
> pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
> if (!pdata)
> goto done;
>
> - v4l2_of_parse_endpoint(endpoint, &bus_cfg);
> flags = bus_cfg.bus.parallel.flags;
>
> if (flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH)
> --
> 2.4.3
>