diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2012-01-12 12:20:37 -0200 |
---|---|---|
committer | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2012-01-12 12:20:37 -0200 |
commit | 21288ffca1cbd8c6804588d5ce8dbce108d31cfd (patch) | |
tree | 4639f179e12d1e7e9ba2d7a5910656d40ceb7b22 | |
parent | 22ae05ee9608f6906221457d9e2278778b2cc10c (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.c | 5 |
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) |