summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2015-01-22 17:35:40 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2015-02-18 11:02:25 +0000
commitb0eada1707f0b7b4346663b98a7fb1a803580327 (patch)
treeb4f3f81d180123cf245202f837eddc8c9b5c8584
parent4db985a5fa9ea985616a726b1770727309502d81 (diff)
downloadexternal_mesa3d-b0eada1707f0b7b4346663b98a7fb1a803580327.zip
external_mesa3d-b0eada1707f0b7b4346663b98a7fb1a803580327.tar.gz
external_mesa3d-b0eada1707f0b7b4346663b98a7fb1a803580327.tar.bz2
glx: do not leak the dri2 extension information
The XExtensionInfo is allocated dynamically (if the pointer is NULL) in the XEXT_GENERATE_FIND_DISPLAY macro. On the other hand the macro XEXT_GENERATE_CLOSE_DISPLAY does not check/free the memory. Follow the example set by dri1 and appledri, and use a static variable. Spotted while hunting "still reachable" leaks in Waffle. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-rw-r--r--src/glx/dri2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index cc6c164..9ebd00a 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -53,7 +53,8 @@
static char dri2ExtensionName[] = DRI2_NAME;
-static XExtensionInfo *dri2Info;
+static XExtensionInfo _dri2Info_data;
+static XExtensionInfo *dri2Info = &_dri2Info_data;
static XEXT_GENERATE_CLOSE_DISPLAY (DRI2CloseDisplay, dri2Info)
static Bool