From 08cd2e57bb3de3922ba54ad95c1e8e85a131330c Mon Sep 17 00:00:00 2001 From: David Bremner Date: Mon, 15 Apr 2019 22:46:15 -0300 Subject: [PATCH] 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. --- notmuch-reindex.c | 1 + 1 file changed, 1 insertion(+) 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)