aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--src/colorlabel.c12
-rw-r--r--src/colorlabel.h2
3 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 107af721..38a784bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-06
+
+ * src/colorlabel.[ch]: fixed a memory leak.
+
2010-01-05
* src/colorlabel.[ch]
diff --git a/src/colorlabel.c b/src/colorlabel.c
index d5812221..b58d2772 100644
--- a/src/colorlabel.c
+++ b/src/colorlabel.c
@@ -393,7 +393,7 @@ gint colorlabel_read_config(void)
return 0;
}
-void colorlabel_write_config(void)
+gint colorlabel_write_config(void)
{
gchar *path;
PrefFile *pfile;
@@ -406,7 +406,7 @@ void colorlabel_write_config(void)
if ((pfile = prefs_file_open(path)) == NULL) {
g_warning("failed to write colorlabelrc");
g_free(path);
- return;
+ return -1;
}
for (i = 0; i < LABEL_COLORS_ELEMS; i++) {
@@ -419,11 +419,17 @@ void colorlabel_write_config(void)
FILE_OP_ERROR(path, "fputs || fputc");
prefs_file_close_revert(pfile);
g_free(path);
- return;
+ return -1;
}
}
if (prefs_file_close(pfile) < 0) {
g_warning("failed to write colorlabelrc");
+ g_free(path);
+ return -1;
}
+
+ g_free(path);
+
+ return 0;
}
diff --git a/src/colorlabel.h b/src/colorlabel.h
index 13021098..d89e9652 100644
--- a/src/colorlabel.h
+++ b/src/colorlabel.h
@@ -37,6 +37,6 @@ guint colorlabel_get_color_menu_active_item (GtkWidget *menu);
void colorlabel_update_menu (void);
gint colorlabel_read_config (void);
-void colorlabel_write_config (void);
+gint colorlabel_write_config (void);
#endif /* COLORLABEL_H__ */