egl_dri2: do not leak dri2_dpy->driver_configs

Walk through the list and free each config, and finally free the list
itself. Freeing approx 20KiB of memory, according to valgrind.
Inspired by a similar patch by enpeng xu.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
Emil Velikov 2014-10-23 17:27:01 +01:00
parent 54a065d9a6
commit ba0bb4227e
1 changed files with 4 additions and 0 deletions

View File

@ -666,6 +666,7 @@ static EGLBoolean
dri2_terminate(_EGLDriver *drv, _EGLDisplay *disp)
{
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
unsigned i;
_eglReleaseDisplayResources(drv, disp);
_eglCleanupDisplay(disp);
@ -706,6 +707,9 @@ dri2_terminate(_EGLDriver *drv, _EGLDisplay *disp)
break;
}
for (i = 0; dri2_dpy->driver_configs[i]; i++)
free((__DRIconfig *) dri2_dpy->driver_configs[i]);
free(dri2_dpy->driver_configs);
free(dri2_dpy);
disp->DriverData = NULL;