diff options
Diffstat (limited to 'mail-client/neomutt/files/0001-Fix-seqset-iterator-when-it-ends-in-a-comma.patch')
-rw-r--r-- | mail-client/neomutt/files/0001-Fix-seqset-iterator-when-it-ends-in-a-comma.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/mail-client/neomutt/files/0001-Fix-seqset-iterator-when-it-ends-in-a-comma.patch b/mail-client/neomutt/files/0001-Fix-seqset-iterator-when-it-ends-in-a-comma.patch new file mode 100644 index 000000000000..06f31ffeb46b --- /dev/null +++ b/mail-client/neomutt/files/0001-Fix-seqset-iterator-when-it-ends-in-a-comma.patch @@ -0,0 +1,37 @@ +From fa1db5785e5cfd9d3cd27b7571b9fe268d2ec2dc Mon Sep 17 00:00:00 2001 +From: Kevin McCarthy <kevin@8t8.us> +Date: Mon, 3 May 2021 13:11:30 -0700 +Subject: [PATCH] Fix seqset iterator when it ends in a comma + +If the seqset ended with a comma, the substr_end marker would be just +before the trailing nul. In the next call, the loop to skip the +marker would iterate right past the end of string too. + +The fix is simple: place the substr_end marker and skip past it +immediately. +--- + imap/util.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/imap/util.c b/imap/util.c +index 52aff7da0..27fb86295 100644 +--- a/imap/util.c ++++ b/imap/util.c +@@ -1119,13 +1119,11 @@ int mutt_seqset_iterator_next(struct SeqsetIterator *iter, unsigned int *next) + if (iter->substr_cur == iter->eostr) + return 1; + +- while (!*(iter->substr_cur)) +- iter->substr_cur++; + iter->substr_end = strchr(iter->substr_cur, ','); + if (!iter->substr_end) + iter->substr_end = iter->eostr; + else +- *(iter->substr_end) = '\0'; ++ *(iter->substr_end++) = '\0'; + + char *range_sep = strchr(iter->substr_cur, ':'); + if (range_sep) +-- +2.30.2 + |