diff mbox series

[v2] drm/imx: Fix memory leak in imx_pd_connector_get_modes

Message ID 20220108165230.44610-1-jose.exposito89@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v2] drm/imx: Fix memory leak in imx_pd_connector_get_modes | expand

Commit Message

José Expósito Jan. 8, 2022, 4:52 p.m. UTC
Avoid leaking the display mode variable if of_get_drm_display_mode
fails.

Fixes: 76ecd9c9fb24 ("drm/imx: parallel-display: check return code from of_get_drm_display_mode()")
Addresses-Coverity-ID: 1443943 ("Resource leak")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>

---

v2: Improve commit message
---
 drivers/gpu/drm/imx/parallel-display.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Philipp Zabel March 29, 2022, 4:41 p.m. UTC | #1
On Sa, 2022-01-08 at 17:52 +0100, José Expósito wrote:
> Avoid leaking the display mode variable if of_get_drm_display_mode
> fails.
> 
> Fixes: 76ecd9c9fb24 ("drm/imx: parallel-display: check return code
> from of_get_drm_display_mode()")
> Addresses-Coverity-ID: 1443943 ("Resource leak")
> Signed-off-by: José Expósito <jose.exposito89@gmail.com>
> 
> ---
> 
> v2: Improve commit message
> ---
>  drivers/gpu/drm/imx/parallel-display.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/imx/parallel-display.c
> b/drivers/gpu/drm/imx/parallel-display.c
> index a8aba0141ce7..3bf8e0a4803a 100644
> --- a/drivers/gpu/drm/imx/parallel-display.c
> +++ b/drivers/gpu/drm/imx/parallel-display.c
> @@ -75,8 +75,10 @@ static int imx_pd_connector_get_modes(struct
> drm_connector *connector)
>                 ret = of_get_drm_display_mode(np, &imxpd->mode,
>                                               &imxpd->bus_flags,
>                                               OF_USE_NATIVE_MODE);
> -               if (ret)
> +               if (ret) {
> +                       drm_mode_destroy(connector->dev, mode);
>                         return ret;
> +               }
>  
>                 drm_mode_copy(mode, &imxpd->mode);
>                 mode->type |= DRM_MODE_TYPE_DRIVER |
> DRM_MODE_TYPE_PREFERRED;

Thank you, applied to imx-drm/fixes.

regards
Philipp
diff mbox series

Patch

diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c
index a8aba0141ce7..3bf8e0a4803a 100644
--- a/drivers/gpu/drm/imx/parallel-display.c
+++ b/drivers/gpu/drm/imx/parallel-display.c
@@ -75,8 +75,10 @@  static int imx_pd_connector_get_modes(struct drm_connector *connector)
 		ret = of_get_drm_display_mode(np, &imxpd->mode,
 					      &imxpd->bus_flags,
 					      OF_USE_NATIVE_MODE);
-		if (ret)
+		if (ret) {
+			drm_mode_destroy(connector->dev, mode);
 			return ret;
+		}
 
 		drm_mode_copy(mode, &imxpd->mode);
 		mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;