diff -Nur audacious-plugins-2.2-orig/src/alarm/alarm.c audacious-plugins-2.2/src/alarm/alarm.c --- audacious-plugins-2.2-orig/src/alarm/alarm.c 2009-11-22 23:49:52.000000000 +0100 +++ audacious-plugins-2.2/src/alarm/alarm.c 2009-12-30 22:38:17.985756827 +0100 @@ -321,14 +321,17 @@ if(!aud_cfg_db_get_int(conf, "alarm", "fading", &fading)) fading = DEFAULT_FADING; + g_free(cmdstr); if(!aud_cfg_db_get_string(conf, "alarm", "cmdstr", &cmdstr)) cmdstr = g_strdup(""); if(!aud_cfg_db_get_bool(conf, "alarm", "cmd_on", &cmd_on)) cmd_on = FALSE; + g_free(playlist); if(!aud_cfg_db_get_string(conf, "alarm", "playlist", &playlist)) playlist = g_strdup(""); + g_free(alarm_conf.reminder_msg); if(!aud_cfg_db_get_string(conf, "alarm", "reminder_msg", &alarm_conf.reminder_msg)) alarm_conf.reminder_msg = g_strdup(""); if(!aud_cfg_db_get_bool(conf, "alarm", "reminder_on", &alarm_conf.reminder_on)) @@ -970,6 +973,7 @@ { DEBUG("alarm_init\n"); + alarm_conf.reminder_msg = NULL; alarm_read_config(); /* start the main thread running */ @@ -989,6 +993,13 @@ if(stop_tid) pthread_cancel(stop_tid); stop_tid = 0; + + g_free(alarm_conf.reminder_msg); + alarm_conf.reminder_msg = NULL; + g_free(playlist); + playlist = NULL; + g_free(cmdstr); + cmdstr = NULL; } static GeneralPlugin alarm_plugin =