aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorGravatar David Bremner <bremner@debian.org>2012-12-10 23:33:40 -0400
committerGravatar David Bremner <bremner@debian.org>2012-12-24 19:02:22 -0400
commit47693539a64b884cbd9bffc9c832162848ad98f2 (patch)
tree75226ce9b4eaf65ef38282e49cfc155caa9b459f /lib
parent27dacc7947309bb8f6f84b2cd83dc7ec280576b2 (diff)
_notmuch_message_index_file: unref (free) address lists from gmime.
Apparently as of GMime 2.4, you don't need to call internet_address_list_destroy anymore, but you still need to call g_object_unref (from the GMime Changelog). On the medium performance corpus, valgrind shows "possibly lost" leakage in "notmuch new" dropping from 7M to 300k.
Diffstat (limited to 'lib')
-rw-r--r--lib/index.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/index.cc b/lib/index.cc
index da0e6ceb..a2edd6d9 100644
--- a/lib/index.cc
+++ b/lib/index.cc
@@ -484,12 +484,18 @@ mboxes is deprecated and may be removed in the future.\n", filename);
}
from = g_mime_message_get_sender (mime_message);
- addresses = internet_address_list_parse_string (from);
- _index_address_list (message, "from", addresses);
+ addresses = internet_address_list_parse_string (from);
+ if (addresses) {
+ _index_address_list (message, "from", addresses);
+ g_object_unref (addresses);
+ }
addresses = g_mime_message_get_all_recipients (mime_message);
- _index_address_list (message, "to", addresses);
+ if (addresses) {
+ _index_address_list (message, "to", addresses);
+ g_object_unref (addresses);
+ }
subject = g_mime_message_get_subject (mime_message);
_notmuch_message_gen_terms (message, "subject", subject);