[PATCH] drm/i915/sprite: Fix mem leak in intel_plane_init()

Jesse Barnes jbarnes at virtuousgeek.org
Tue Jun 26 17:12:46 PDT 2012


On Wed, 27 Jun 2012 00:55:37 +0200 (CEST)
Jesper Juhl <jj at chaosbits.net> wrote:

> If we ever hit the default case in the switch statement we'll return
> from the function without freeing the memory we just allocated to
> 'intel_plane' (but that has not been used).
> 
> This patch gets rid of the leak by freeing the memory just before we
> return.
> 
> Signed-off-by: Jesper Juhl <jj at chaosbits.net>
> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 2a20fb0..c8851ba 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -685,6 +685,7 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe)
>  		break;
>  
>  	default:
> +		kfree(intel_plane);
>  		return -ENODEV;
>  	}
>  
> @@ -699,4 +700,3 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe)
>  
>  	return ret;
>  }

Yeah, looks fine.  I just fixed the same thing in a local tree (though
by using a goto since I added another path that could fail).

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center


More information about the dri-devel mailing list