From ca72383fe947d70950ddfe110d033a158ac9a183 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 16 Jul 2020 13:08:29 +0200 Subject: [PATCH] don't forget to skip dead messages on far side during expiration this is mostly theoretical, as at this point no updates to the message list can have actually happened. but it's future-proof and consistent with the near-side loop. --- src/sync.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sync.c b/src/sync.c index fc7cec6..c67ba12 100644 --- a/src/sync.c +++ b/src/sync.c @@ -1671,6 +1671,8 @@ box_loaded( int sts, message_t *msgs, int total_msgs, int recent_msgs, void *aux } } for (tmsg = svars->msgs[F]; tmsg; tmsg = tmsg->next) { + if (tmsg->status & M_DEAD) + continue; if ((srec = tmsg->srec) && (srec->status & S_PENDING) && !(tmsg->flags & F_DELETED)) alive++; } @@ -1705,6 +1707,8 @@ box_loaded( int sts, message_t *msgs, int total_msgs, int recent_msgs, void *aux } } for (tmsg = svars->msgs[F]; tmsg; tmsg = tmsg->next) { + if (tmsg->status & M_DEAD) + continue; if ((srec = tmsg->srec) && (srec->status & S_PENDING)) { nflags = tmsg->flags; if (!(nflags & F_DELETED)) {