From 056500bdc5e4243a8baa3503ec9c3fdd7323a454 Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Mon, 30 Dec 2013 11:30:03 -0200 Subject: [PATCH] tests/kms_flip: don't leak the CRTC The kms_flip program calls kmstest_get_connector_config, which returns a struct containing some allocated variables, including a pointer to the CRTC. The problem is that we copy the values returned by this structure to the test_output struct, but we ignore the CRTC pointer. So free the CRTC pointer instead of leaking it. Caught by Valgrind. Signed-off-by: Paulo Zanoni --- tests/kms_flip.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/kms_flip.c b/tests/kms_flip.c index 5b1ce9d3..b0f07541 100644 --- a/tests/kms_flip.c +++ b/tests/kms_flip.c @@ -921,6 +921,8 @@ static void connector_find_preferred_mode(uint32_t connector_id, int crtc_idx, o->fb_width = o->kmode[0].hdisplay; o->fb_height = o->kmode[0].vdisplay; + + drmModeFreeCrtc(config.crtc); } static bool mode_compatible(const drmModeModeInfo *a, const drmModeModeInfo *b) @@ -986,6 +988,9 @@ found: o->kencoder[1] = config[1].encoder; o->_crtc[1] = config[1].crtc->crtc_id; o->kmode[1] = *mode[1]; + + drmModeFreeCrtc(config[0].crtc); + drmModeFreeCrtc(config[1].crtc); } static void paint_flip_mode(struct kmstest_fb *fb, bool odd_frame)