From: David Bremner Date: Tue, 11 Dec 2012 03:33:40 +0000 (-0400) Subject: _notmuch_message_index_file: unref (free) address lists from gmime. X-Git-Tag: 0.15_rc1~46 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=47693539a64b884cbd9bffc9c832162848ad98f2;ds=sidebyside _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. --- 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);