Enlightenment CVS committal Author : sebastid Project : misc Module : embrace
Dir : misc/embrace/src/plugins/imap Modified Files: imap.c Log Message: Fix memleak in imap plugin. =================================================================== RCS file: /cvsroot/enlightenment/misc/embrace/src/plugins/imap/imap.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- imap.c 3 Sep 2005 12:38:43 -0000 1.20 +++ imap.c 3 Sep 2005 13:03:15 -0000 1.21 @@ -1,5 +1,5 @@ /* - * $Id: imap.c,v 1.20 2005/09/03 12:38:43 tsauerbeck Exp $ + * $Id: imap.c,v 1.21 2005/09/03 13:03:15 sebastid Exp $ * vim:noexpandtab:ts=4:sw=4:sts=4 * * Copyright (C) 2004 Embrace project. @@ -308,6 +308,23 @@ return s; } +static bool destroy_server (ImapServer *server) +{ + assert (server); + + free (server->host); + free (server->user); + free (server->pass); + + if (server->timer) + ecore_timer_del (server->timer); + + servers = evas_list_remove (servers, server); + free (server); + + return true; +} + static bool imap_add_server (MailBox *mb) { ImapServer *server; @@ -332,7 +349,7 @@ server->timer = ecore_timer_add (server->interval, on_timer, server); if (!server->timer) { - free (server); + destroy_server (server); return false; } } @@ -351,16 +368,8 @@ /* FIXME: reschedule server timer */ server->clients = evas_list_remove (server->clients, mb); - if (!server->clients) { - free (server->host); - free (server->user); - free (server->pass); - - ecore_timer_del (server->timer); - - servers = evas_list_remove (servers, server); - free (server); - } + if (!server->clients) + destroy_server (server); return true; } ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs