diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2011-12-08 17:05:43 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2011-12-08 13:29:40 -0500 |
commit | 7551cff986ff8339717652d8eb6cf037b07a502e (patch) | |
tree | 2bd2d97d4108f8c2204a4a6ed1b7d661a0fb6c87 | |
parent | a3a7162b11b994e0fb10edac900b11d80099da39 (diff) |
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>
-rw-r--r-- | compositor/compositor-drm.c | 8 |
1 files 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); |