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