From: Carl Worth Date: Sun, 25 Oct 2009 05:10:03 +0000 (-0700) Subject: Fix timestamp generation to avoid overflowing the term limit X-Git-Tag: 0.1~733 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=0bc73af96c48952cba29116f0c99e8ba3f9e7ef6 Fix timestamp generation to avoid overflowing the term limit The previous code was only correct as long as the timestamp prefix was only a single character. But with the recent change to a multi-character prefix, this broke. So fix it now. --- diff --git a/database.cc b/database.cc index c470cc34..3d967270 100644 --- a/database.cc +++ b/database.cc @@ -542,11 +542,12 @@ find_timestamp_document (notmuch_database_t *notmuch, const char *db_key, static char * timestamp_db_key (const char *key) { - if (strlen (key) + 1 > NOTMUCH_TERM_MAX) { + int term_len = strlen (_find_prefix ("timestamp")) + strlen (key); + + if (term_len > NOTMUCH_TERM_MAX) return notmuch_sha1_of_string (key); - } else { + else return strdup (key); - } } notmuch_status_t