diff -r a1093fbc45d2 -r dc8991868906 libpurple/cmds.c --- a/libpurple/cmds.c Mon Aug 22 22:46:08 2011 +0000 +++ b/libpurple/cmds.c Fri Dec 23 08:21:58 2011 +0000 @@ -385,5 +385,10 @@ void purple_cmds_uninit(void) { purple_signals_unregister_by_instance(purple_cmds_get_handle()); + + while (cmds) { + purple_cmd_free(cmds->data); + cmds = g_list_delete_link(cmds, cmds); + } }