Browse Source

drm/radeon/kms: fix memory leak

Stanse found a memory leak in radeon_master_create. master_priv is not
freed/assigned on all paths. Fix that.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jiri Slaby 15 years ago
parent
commit
5eb226132f
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/gpu/drm/radeon/radeon_cp.c

+ 1 - 0
drivers/gpu/drm/radeon/radeon_cp.c

@@ -2145,6 +2145,7 @@ int radeon_master_create(struct drm_device *dev, struct drm_master *master)
 			 &master_priv->sarea);
 			 &master_priv->sarea);
 	if (ret) {
 	if (ret) {
 		DRM_ERROR("SAREA setup failed\n");
 		DRM_ERROR("SAREA setup failed\n");
+		kfree(master_priv);
 		return ret;
 		return ret;
 	}
 	}
 	master_priv->sarea_priv = master_priv->sarea->handle + sizeof(struct drm_sarea);
 	master_priv->sarea_priv = master_priv->sarea->handle + sizeof(struct drm_sarea);