From e314261eac83cd3096bd32e478efd2e7859fcbf5 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Sun, 16 Mar 2025 09:04:58 +0100 Subject: [PATCH] fix a segfault --- display.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/display.c b/display.c index 74a699c..983469a 100644 --- a/display.c +++ b/display.c @@ -629,6 +629,15 @@ char *filewindow (char *name, window_t *win) _dobound (win->xsize, win->ysize, win->xoffset, win->yoffset); char percent[4] = {' ', ' ', ' ', 0}; + + if (GETSKIP (skip, sskip) + win ->ysize> len ) { + sskip = 0; + skip = len - win ->ysize; + if (skip < 0) { + skip = 0; + } + } + int ratio = (GETSKIP (skip, sskip) + win->ysize > len) ? 100 : 100 * (GETSKIP (skip, sskip) + win->ysize) / len; for (i = 2; (i >= 0) && (ratio > 0); i--, ratio /= 10) { percent[i] = '0' + (ratio % 10); -- 2.30.2