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 <dh.herrmann@googlemail.com>
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,10 +609,14 @@
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);
if (!(ec->connector_allocator & (1 << connector_id))) {