media: i2c: tvp5150: check return value of devm_kasprintf()

Message ID 20230615103030.582531-1-claudiu.beznea@microchip.com
State New
Headers
Series media: i2c: tvp5150: check return value of devm_kasprintf() |

Commit Message

Claudiu Beznea June 15, 2023, 10:30 a.m. UTC
  devm_kasprintf() returns a pointer to dynamically allocated memory.
Pointer could be NULL in case allocation fails. Check pointer validity.
Identified with coccinelle (kmerr.cocci script).

Fixes: 0556f1d580d4 ("media: tvp5150: add input source selection of_graph support")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---

Hi,

This has been addressed using kmerr.cocci script proposed for update
at [1].

Thank you,
Claudiu Beznea

[1] https://lore.kernel.org/all/20230530074044.1603426-1-claudiu.beznea@microchip.com/

 drivers/media/i2c/tvp5150.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Marco Felsch June 16, 2023, 12:23 p.m. UTC | #1
Hi,

On 23-06-15, Claudiu Beznea wrote:
> devm_kasprintf() returns a pointer to dynamically allocated memory.
> Pointer could be NULL in case allocation fails. Check pointer validity.
> Identified with coccinelle (kmerr.cocci script).

lgtm

> Fixes: 0556f1d580d4 ("media: tvp5150: add input source selection of_graph support")
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>

> ---
> 
> Hi,
> 
> This has been addressed using kmerr.cocci script proposed for update
> at [1].
> 
> Thank you,
> Claudiu Beznea
> 
> [1] https://lore.kernel.org/all/20230530074044.1603426-1-claudiu.beznea@microchip.com/
> 
>  drivers/media/i2c/tvp5150.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
> index 859f1cb2fa74..84f87c016f9b 100644
> --- a/drivers/media/i2c/tvp5150.c
> +++ b/drivers/media/i2c/tvp5150.c
> @@ -2068,6 +2068,10 @@ static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np)
>  		tvpc->ent.name = devm_kasprintf(dev, GFP_KERNEL, "%s %s",
>  						v4l2c->name, v4l2c->label ?
>  						v4l2c->label : "");
> +		if (!tvpc->ent.name) {
> +			ret = -ENOMEM;
> +			goto err_free;
> +		}
>  	}
>  
>  	ep_np = of_graph_get_endpoint_by_regs(np, TVP5150_PAD_VID_OUT, 0);
> -- 
> 2.34.1
> 
>
  

Patch

diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
index 859f1cb2fa74..84f87c016f9b 100644
--- a/drivers/media/i2c/tvp5150.c
+++ b/drivers/media/i2c/tvp5150.c
@@ -2068,6 +2068,10 @@  static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np)
 		tvpc->ent.name = devm_kasprintf(dev, GFP_KERNEL, "%s %s",
 						v4l2c->name, v4l2c->label ?
 						v4l2c->label : "");
+		if (!tvpc->ent.name) {
+			ret = -ENOMEM;
+			goto err_free;
+		}
 	}
 
 	ep_np = of_graph_get_endpoint_by_regs(np, TVP5150_PAD_VID_OUT, 0);