diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2019-01-21 16:39:23 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2019-01-21 16:39:23 +0200 |
commit | 0d5d98301ce5ea6960217412ef6f47870c93f92a (patch) | |
tree | f514b1411a21ded10edc14f7364b713017bff7bd | |
parent | db7165424199a473265eda5d35f2399e8816e92d (diff) | |
download | mailutils-0d5d98301ce5ea6960217412ef6f47870c93f92a.tar.gz mailutils-0d5d98301ce5ea6960217412ef6f47870c93f92a.tar.bz2 |
Fix page invalidation in mail
-rw-r--r-- | mail/page.c | 18 |
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); + } } } |