From: Carl Worth Date: Wed, 28 Oct 2009 06:59:06 +0000 (-0700) Subject: notmuch tag: Fix crash when removing a tag that didn't exist X-Git-Tag: 0.1~673 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=88bf876bae79cbaee50c62664bc1baac5cb79742 notmuch tag: Fix crash when removing a tag that didn't exist Xapian is trying to be useful by reporting that the specified term didn't exist, but this is one case where we just don't care. :-) --- diff --git a/message.cc b/message.cc index 6e15b511..66747b5c 100644 --- a/message.cc +++ b/message.cc @@ -465,7 +465,14 @@ _notmuch_message_remove_term (notmuch_message_t *message, if (strlen (term) > NOTMUCH_TERM_MAX) return NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG; - message->doc.remove_term (term); + try { + message->doc.remove_term (term); + } catch (const Xapian::InvalidArgumentError) { + /* We'll let the philosopher's try to wrestle with the + * question of whether failing to remove that which was not + * there in the first place is failure. For us, we'll silently + * consider it all good. */ + } talloc_free (term);