Re: [PATCH] media: v4l2-fwnode: Improve exception handling in v4l2_fwnode_connector_add_link()

From: Sakari Ailus
Date: Mon Mar 04 2024 - 02:24:15 EST


Hi Markus,

On Fri, Mar 01, 2024 at 03:07:50PM +0100, Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Fri, 1 Mar 2024 15:02:09 +0100
>
> The kfree() function was called in one case by
> the v4l2_fwnode_connector_add_link() function during error handling
> even if the passed variable contained a null pointer.
> Thus use another label.

This isn't a problem, the code is fine as-is.

>
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/media/v4l2-core/v4l2-fwnode.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
> index 89c7192148df..dc6daf3a9a51 100644
> --- a/drivers/media/v4l2-core/v4l2-fwnode.c
> +++ b/drivers/media/v4l2-core/v4l2-fwnode.c
> @@ -744,7 +744,7 @@ int v4l2_fwnode_connector_add_link(struct fwnode_handle *fwnode,
> link = kzalloc(sizeof(*link), GFP_KERNEL);
> if (!link) {
> err = -ENOMEM;
> - goto err;
> + goto put_fwnode_ep;
> }
>
> err = v4l2_fwnode_parse_link(connector_ep, &link->fwnode_link);
> @@ -760,6 +760,7 @@ int v4l2_fwnode_connector_add_link(struct fwnode_handle *fwnode,
>
> err:
> kfree(link);
> +put_fwnode_ep:
> fwnode_handle_put(connector_ep);
>
> return err;
> --
> 2.44.0
>

--
Sakari Ailus