Mesa (master): gbm/dri: cleanup memory leak on teardown

Emil Velikov evelikov at kemper.freedesktop.org
Fri Nov 7 18:33:27 UTC 2014


Module: Mesa
Branch: master
Commit: f6432c4d72e17a106e95dab98fabf43a43a501a9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6432c4d72e17a106e95dab98fabf43a43a501a9

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Fri Nov  7 03:45:07 2014 +0000

gbm/dri: cleanup memory leak on teardown

During teardown we free the driver_configs list pointer, but we forget
to deallocate each config in that list.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-and-tested-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/gbm/backends/dri/gbm_dri.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index f637e32..0664266 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -914,8 +914,11 @@ static void
 dri_destroy(struct gbm_device *gbm)
 {
    struct gbm_dri_device *dri = gbm_dri_device(gbm);
+   unsigned i;
 
    dri->core->destroyScreen(dri->screen);
+   for (i = 0; dri->driver_configs[i]; i++)
+      free((__DRIconfig *) dri->driver_configs[i]);
    free(dri->driver_configs);
    dlclose(dri->driver);
    free(dri->base.driver_name);




More information about the mesa-commit mailing list