summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2012-01-12 12:20:37 -0200
committerPaulo Zanoni <paulo.r.zanoni@intel.com>2012-01-12 12:20:37 -0200
commit21288ffca1cbd8c6804588d5ce8dbce108d31cfd (patch)
tree4639f179e12d1e7e9ba2d7a5910656d40ceb7b22
parent22ae05ee9608f6906221457d9e2278778b2cc10c (diff)
Fix drmModeFreeResources() leak
Found by valgrinding 'modetest': 8 bytes in 1 blocks are definitely lost in loss record 1 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 0x4E3551C: drmModeGetResources (xf86drmMode.c:212) by 0x401D66: main (modetest.c:792) 32 bytes in 1 blocks are definitely lost in loss record 3 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 0x4E35533: drmModeGetResources (xf86drmMode.c:213) by 0x401D66: main (modetest.c:792) 32 bytes in 1 blocks are definitely lost in loss record 4 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 0x4E3554A: drmModeGetResources (xf86drmMode.c:214) by 0x401D66: main (modetest.c:792) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
-rw-r--r--xf86drmMode.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xf86drmMode.c b/xf86drmMode.c
index da7b4620..712eff12 100644
--- a/xf86drmMode.c
+++ b/xf86drmMode.c
@@ -96,8 +96,11 @@ void drmModeFreeResources(drmModeResPtr ptr)
if (!ptr)
return;
+ drmFree(ptr->fbs);
+ drmFree(ptr->crtcs);
+ drmFree(ptr->connectors);
+ drmFree(ptr->encoders);
drmFree(ptr);
-
}
void drmModeFreeFB(drmModeFBPtr ptr)