From 98c10d379b8d6b8e34da1e9963a114413021838e Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Mon, 30 Dec 2013 11:40:03 -0200 Subject: [PATCH] tests/kms_flip: free the test_output struct when counting modes Looks like we have to do a lot of work just to count the number of modes... Caught by Valgrind. Signed-off-by: Paulo Zanoni --- tests/kms_flip.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/kms_flip.c b/tests/kms_flip.c index f57462f..ee9834f 100644 --- a/tests/kms_flip.c +++ b/tests/kms_flip.c @@ -1130,6 +1130,16 @@ static unsigned event_loop(struct test_output *o, unsigned duration_ms) return end - start; } +static void free_test_output(struct test_output *o) +{ + int i; + + for (i = 0; i < o->count; i++) { + drmModeFreeEncoder(o->kencoder[i]); + drmModeFreeConnector(o->kconnector[i]); + } +} + static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs, int crtc_count, int duration_ms) { @@ -1232,10 +1242,7 @@ out: last_connector = NULL; - for (i = 0; i < o->count; i++) { - drmModeFreeEncoder(o->kencoder[i]); - drmModeFreeConnector(o->kconnector[i]); - } + free_test_output(o); } static int run_test(int duration, int flags) @@ -1262,6 +1269,7 @@ static int run_test(int duration, int flags) if (o.mode_valid) modes++; + free_test_output(&o); } } @@ -1319,6 +1327,7 @@ static int run_pair(int duration, int flags) if (o.mode_valid) modes++; + free_test_output(&o); } } } -- 2.7.4