From f63ede42818595ae7d92f7a4fe5f053d5c898cee Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Thu, 13 Oct 2016 10:27:06 +0200 Subject: [PATCH] ecore: free futures which are still pending on shutdown MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit otherwise we are leaking a eina list. This was discovered while running the elm_suite with CK_FORK=no, since ecore and eina are init´ed and shutdown´ed, after the shutdown this list points to freeed memory pools. So in the next testcase the list is invalid and crashes. This fixes it with freeing the list on shutdown. --- src/lib/ecore/ecore_main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 6b1ac3e..d1b66a6 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -1598,6 +1598,8 @@ ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, void _ecore_main_shutdown(void) { + Efl_Future *future; + if (in_main_loop) { ERR("\n" @@ -1605,6 +1607,10 @@ _ecore_main_shutdown(void) "*** Program may crash or behave strangely now."); return; } + + EINA_LIST_FREE(_pending_futures, future) + efl_del(future); + while (fd_handlers) { Ecore_Fd_Handler *fdh; -- 2.7.4