patch 8.1.1636: crash when popup has fitting scrollbar
Problem: Crash when popup has fitting scrollbar. (Trygve Aaberge)
Solution: Don't divide by zero if the scrollbar just fits. (closes #4615)
diff --git a/src/popupwin.c b/src/popupwin.c
index 099a0c2..02aa83e 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2463,7 +2463,12 @@
/ linecount;
if (sb_thumb_height == 0)
sb_thumb_height = 1;
- sb_thumb_top = (wp->w_topline - 1 + (linecount / wp->w_height) / 2)
+ if (linecount <= wp->w_height)
+ // it just fits, avoid divide by zero
+ sb_thumb_top = 0;
+ else
+ sb_thumb_top = (wp->w_topline - 1
+ + (linecount / wp->w_height) / 2)
* (wp->w_height - sb_thumb_height)
/ (linecount - wp->w_height);
if (wp->w_scrollbar_highlight != NULL)