[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg-devel
Subject: [PATCH 2/3] glx: don't leak fbconfigs
From: przanoni () gmail ! com
Date: 2011-10-29 21:08:13
Message-ID: 1319922494-18285-2-git-send-email-przanoni () gmail ! com
[Download RAW message or body]
From: Paulo Zanoni <paulo.r.zanoni@intel.com>
29,952 (208 direct, 29,744 indirect) bytes in 1 blocks are definitely lost in loss record 573 of 573
at 0x4C2779D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4829BC: createModeFromConfig (glxdricommon.c:131)
by 0x482C09: glxConvertConfigs (glxdricommon.c:185)
by 0x482788: __glXDRIscreenProbe (glxdriswrast.c:468)
by 0x4812FA: GlxExtensionInit (glxext.c:327)
by 0x41FB14: InitExtensions (miinitext.c:471)
by 0x568636: main (main.c:208)
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
glx/glxscreens.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/glx/glxscreens.c b/glx/glxscreens.c
index ebb9747..928cf0c 100644
--- a/glx/glxscreens.c
+++ b/glx/glxscreens.c
@@ -419,6 +419,15 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
void __glXScreenDestroy(__GLXscreen *screen)
{
+ __GLXconfig *head, *next;
+
+ head = screen->fbconfigs;
+ while (head) {
+ next = head->next;
+ free(head);
+ head = next;
+ }
+
free(screen->GLXvendor);
free(screen->GLXextensions);
free(screen->GLextensions);
--
1.7.7
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic