From a10bcaaf668ab16233df10c2742dcb497e17d588 Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Sat, 21 Apr 2012 17:51:51 -0300 Subject: modetest: fix drmModeGetConnector memory leak Don't "continue" without freeing the connector. 192 bytes in 6 blocks are indirectly lost in loss record 6 of 12 at 0x4C2779D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4E30DD8: drmMalloc (xf86drm.c:147) by 0x4E35024: drmAllocCpy (xf86drmMode.c:73) by 0x4E35D69: drmModeGetConnector (xf86drmMode.c:507) by 0x402F22: dump_connectors (modetest.c:181) by 0x40261B: main (modetest.c:801) Reviewed-by: Eugeni Dodonov Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter --- tests/modetest/modetest.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index 1b9ae18a2..64809da37 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -199,17 +199,16 @@ void dump_connectors(void) printf("%s%d", j > 0 ? ", " : "", connector->encoders[j]); printf("\n"); - if (!connector->count_modes) - continue; - - printf(" modes:\n"); - printf(" name refresh (Hz) hdisp hss hse htot vdisp " - "vss vse vtot)\n"); - for (j = 0; j < connector->count_modes; j++) - dump_mode(&connector->modes[j]); - - printf(" props:\n"); - dump_props(connector); + if (connector->count_modes) { + printf(" modes:\n"); + printf(" name refresh (Hz) hdisp hss hse htot vdisp " + "vss vse vtot)\n"); + for (j = 0; j < connector->count_modes; j++) + dump_mode(&connector->modes[j]); + + printf(" props:\n"); + dump_props(connector); + } drmModeFreeConnector(connector); } -- cgit v1.2.3