From 45cfeb2e557bb4eeb2a9821fa44207eeb6cd335c Mon Sep 17 00:00:00 2001 From: David Bremner Date: Mon, 4 May 2020 10:55:43 -0300 Subject: [PATCH] lib: replace STRNCMP_LITERAL in __message_remove_indexed_terms strncmp looks for a prefix that matches, which is very much not what we want here. This fixes the bug reported by Franz Fellner in id:1588595993-ner-8.651@TPL520 --- lib/message.cc | 6 +++--- test/T700-reindex.sh | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/message.cc b/lib/message.cc index 5c9b58b2..0fa0eb3a 100644 --- a/lib/message.cc +++ b/lib/message.cc @@ -751,9 +751,9 @@ _notmuch_message_remove_indexed_terms (notmuch_message_t *message) const char *tag = notmuch_tags_get (tags); - if (STRNCMP_LITERAL (tag, "encrypted") != 0 && - STRNCMP_LITERAL (tag, "signed") != 0 && - STRNCMP_LITERAL (tag, "attachment") != 0) { + if (strcmp (tag, "encrypted") != 0 && + strcmp (tag, "signed") != 0 && + strcmp (tag, "attachment") != 0) { std::string term = tag_prefix + tag; message->doc.add_term (term); } diff --git a/test/T700-reindex.sh b/test/T700-reindex.sh index 7b7e52de..3d7c930d 100755 --- a/test/T700-reindex.sh +++ b/test/T700-reindex.sh @@ -34,7 +34,6 @@ notmuch dump > OUTPUT test_expect_equal_file initial-dump OUTPUT test_begin_subtest 'reindex preserves tags with special prefixes' -test_subtest_known_broken notmuch tag +attachment2 +encrypted2 +signed2 '*' notmuch dump > EXPECTED notmuch reindex '*' -- 2.43.0