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 =