commit d8914cd872eaabd974805018671d1f92ed891389
parent 34d66ef27d2d7d1180fd23a4ebf9b91a965a56b4
Author: Colin Leroy <colin@colino.net>
Date: Mon, 28 Sep 2009 07:06:42 +0000
2009-09-28 [colin] 3.7.2cvs41
* src/matcher.c
* src/mimeview.c
* src/prefs_folder_item.c
Fix bug 2007, 'Small memory leaks'. Patch by Pawel
Diffstat:
6 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,10 @@
+2009-09-28 [colin] 3.7.2cvs41
+
+ * src/matcher.c
+ * src/mimeview.c
+ * src/prefs_folder_item.c
+ Fix bug 2007, 'Small memory leaks'. Patch by Pawel
+
2009-09-28 [colin] 3.7.2cvs40
* src/prefs_summaries.c
diff --git a/PATCHSETS b/PATCHSETS
@@ -3865,3 +3865,4 @@
( cvs diff -u -r 1.654.2.3931 -r 1.654.2.3932 configure.ac; ) > 3.7.2cvs38.patchset
( cvs diff -u -r 1.654.2.3932 -r 1.654.2.3933 configure.ac; ) > 3.7.2cvs39.patchset
( cvs diff -u -r 1.1.2.60 -r 1.1.2.61 src/prefs_summaries.c; cvs diff -u -r 1.9.2.28 -r 1.9.2.29 src/gtk/sslcertwindow.c; ) > 3.7.2cvs40.patchset
+( cvs diff -u -r 1.75.2.66 -r 1.75.2.67 src/matcher.c; cvs diff -u -r 1.83.2.155 -r 1.83.2.156 src/mimeview.c; cvs diff -u -r 1.52.2.77 -r 1.52.2.78 src/prefs_folder_item.c; ) > 3.7.2cvs41.patchset
diff --git a/configure.ac b/configure.ac
@@ -12,7 +12,7 @@ MINOR_VERSION=7
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=40
+EXTRA_VERSION=41
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/matcher.c b/src/matcher.c
@@ -689,13 +689,21 @@ static gboolean matcherprop_match_test(const MatcherProp *prop,
#endif
file = procmsg_get_message_file(info);
- if (file == NULL)
+ if (file == NULL) {
+#ifdef USE_PTHREAD
+ g_free(td);
+#endif
return FALSE;
+ }
g_free(file);
cmd = matching_build_command(prop->expr, info);
- if (cmd == NULL)
+ if (cmd == NULL) {
+#ifdef USE_PTHREAD
+ g_free(td);
+#endif
return FALSE;
+}
#ifdef USE_PTHREAD
/* debug output */
diff --git a/src/mimeview.c b/src/mimeview.c
@@ -1598,8 +1598,10 @@ static gchar *mimeview_get_filename_for_part(MimeInfo *partinfo,
gchar *filename;
filename = g_strdup(get_part_name(partinfo));
- if (!filename || !*filename)
+ if (!filename || !*filename) {
+ g_free(filename);
filename = g_strdup_printf("noname.%d", number);
+ }
if (!g_utf8_validate(filename, -1, NULL)) {
gchar *tmp = conv_filename_to_utf8(filename);
diff --git a/src/prefs_folder_item.c b/src/prefs_folder_item.c
@@ -1647,14 +1647,16 @@ static void folder_regexp_test_cb(GtkWidget *widget, gpointer data)
if (!regexp || !regexp[0]) {
gtk_widget_modify_base(page->entry_simplify_subject,
GTK_STATE_NORMAL, NULL);
- if (test_string) {
+ if (test_string)
gtk_entry_set_text(GTK_ENTRY(page->entry_regexp_test_result), test_string);
- g_free(test_string);
- }
+
+ g_free(test_string);
+ g_free(regexp);
return;
}
if (!test_string || !test_string[0]) {
+ g_free(test_string);
g_free(regexp);
return;
}