From: David Bremner Date: Tue, 16 Apr 2019 01:46:15 +0000 (-0300) Subject: CLI/reindex: fix memory leak X-Git-Tag: archive/debian/0.29_rc0-1~100 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=08cd2e57bb3de3922ba54ad95c1e8e85a131330c;hp=319dd95ebbd841320e269d34e67a824876f8426a CLI/reindex: fix memory leak Since message is owned by messages, it was held for the entire run of the program. This in turn means that the Xapian::Document objects are not freed, and thus one ends up with (effectively) a copy of one's entire mailstore in memory when running notmuch reindex '*' Thanks to Olly Betts for the patient help debugging, and the suggestion of a fix. --- diff --git a/notmuch-reindex.c b/notmuch-reindex.c index d8589120..fefa7c63 100644 --- a/notmuch-reindex.c +++ b/notmuch-reindex.c @@ -71,6 +71,7 @@ reindex_query (notmuch_database_t *notmuch, const char *query_string, ret = notmuch_message_reindex(message, indexopts); if (ret != NOTMUCH_STATUS_SUCCESS) break; + notmuch_message_destroy (message); } if (!ret)