On linux_platform_destroy we close all the handles for the different
libgl* providers, yet we do not free the memory for the base struct
linux_platform, causing a memory leak.

In reality the memory will never be freed ('still reachable' by valgrind)
as we do not have a API to call platfrom->destroy() and effectively
cleanup this and other memory hunks.

Chad, do you have a plan/idea how to handle this ? I'm assuming that
your plan is to tackle this once waffle_init is gone/replaced with a
better solution (issue #7).

Cc: Chad Versace <chad.vers...@linux.intel.com>
Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com>
---
 src/waffle/linux/linux_platform.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/waffle/linux/linux_platform.c 
b/src/waffle/linux/linux_platform.c
index 7301c80..56f6fe6 100644
--- a/src/waffle/linux/linux_platform.c
+++ b/src/waffle/linux/linux_platform.c
@@ -56,6 +56,7 @@ linux_platform_destroy(struct linux_platform *self)
     ok &= linux_dl_close(self->libgles1);
     ok &= linux_dl_close(self->libgles2);
 
+    free(self);
     return ok;
 }
 
-- 
2.0.0

_______________________________________________
waffle mailing list
waffle@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/waffle

Reply via email to