Blob Blame History Raw
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 =