From eb8bed5c7347b93151dc95d719e187c8e302e33e Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Thu, 8 Dec 2011 17:05:44 +0100 Subject: [PATCH] compositor-drm: Fix memory leak in create_output_for_connector We do not free the encoder structure on failure. Fix that. Signed-off-by: David Herrmann --- compositor/compositor-drm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compositor/compositor-drm.c b/compositor/compositor-drm.c index 9f76187..1f5e028 100644 --- a/compositor/compositor-drm.c +++ b/compositor/compositor-drm.c @@ -445,12 +445,15 @@ create_output_for_connector(struct drm_compositor *ec, } if (i == resources->count_crtcs) { fprintf(stderr, "No usable crtc for encoder.\n"); + drmModeFreeEncoder(encoder); return -1; } output = malloc(sizeof *output); - if (output == NULL) + if (output == NULL) { + drmModeFreeEncoder(encoder); return -1; + } memset(output, 0, sizeof *output); output->base.subpixel = drm_subpixel_to_wayland(connector->subpixel); -- 2.7.4