From 7551cff986ff8339717652d8eb6cf037b07a502e Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Thu, 8 Dec 2011 17:05:43 +0100 Subject: [PATCH] compositor-drm: Fix memory leak in update_outputs We need to correctly free every connector we retrieve. We currently loose them if they are not connected. Signed-off-by: David Herrmann --- compositor/compositor-drm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compositor/compositor-drm.c b/compositor/compositor-drm.c index 855a811..9f76187 100644 --- a/compositor/compositor-drm.c +++ b/compositor/compositor-drm.c @@ -609,9 +609,13 @@ update_outputs(struct drm_compositor *ec) int connector_id = resources->connectors[i]; connector = drmModeGetConnector(ec->drm.fd, connector_id); - if (connector == NULL || - connector->connection != DRM_MODE_CONNECTED) + if (connector == NULL) + continue; + + if (connector->connection != DRM_MODE_CONNECTED) { + drmModeFreeConnector(connector); continue; + } connected |= (1 << connector_id); -- 2.7.4