summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2019-01-21 16:39:23 +0200
committerSergey Poznyakoff <gray@gnu.org>2019-01-21 16:39:23 +0200
commit0d5d98301ce5ea6960217412ef6f47870c93f92a (patch)
treef514b1411a21ded10edc14f7364b713017bff7bd
parentdb7165424199a473265eda5d35f2399e8816e92d (diff)
downloadmailutils-0d5d98301ce5ea6960217412ef6f47870c93f92a.tar.gz
mailutils-0d5d98301ce5ea6960217412ef6f47870c93f92a.tar.bz2
Fix page invalidation in mail
-rw-r--r--mail/page.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/mail/page.c b/mail/page.c
index daa9b2be6..367c8cfbe 100644
--- a/mail/page.c
+++ b/mail/page.c
@@ -90,13 +90,21 @@ cond_page_invalidate (size_t value)
{
if (page_map[page_avail-1] == value)
page_invalidate (0);
- else if (page_avail > 1)
- for (i = 0; i < page_avail-1; i++)
- if (page_map[i] >= value && value <= page_map[i+1])
+ else
+ {
+ if (page_avail > 1)
{
- page_invalidate (0);
- return;
+ for (i = 0; i < page_avail-1; i++)
+ if (page_map[i] >= value && value <= page_map[i+1])
+ {
+ page_invalidate (0);
+ return;
+ }
}
+ if (page_avail < page_size
+ && (value > page_map[page_avail-1] || value < page_map[0]))
+ page_invalidate (0);
+ }
}
}

Return to:

Send suggestions and report system problems to the System administrator.