summaryrefslogtreecommitdiffstats
path: root/src/drawline.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-20 19:49:20 +0100
committerChristian Brabandt <cb@256bit.org>2024-03-20 19:49:20 +0100
commit918b92b961ac319ddb5f24d8cade2cf6aeebc5d5 (patch)
treed4aeb2d902e505b61a425ef8d2f275d616c0132e /src/drawline.c
parent9f26e5a9bcedb3caef26e9d77849ea37a3626bbf (diff)
patch 9.1.0189: Memory leak with "above" virttext and 'relativenumber'v9.1.0189
Problem: Memory leak with "above" virtual text and 'relativenumber'. Solution: Free "text_props" and "text_prop_idxs" before returning. Also fix off-by-one error causing line number to be drawn beyond end of window (zeertzjq). fixes: #14239 closes: #14241 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/drawline.c')
-rw-r--r--src/drawline.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/drawline.c b/src/drawline.c
index ed02f3cab6..a8de449af4 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1683,8 +1683,12 @@ win_line(
{
// skip over rows only used for virtual text above
wlv.row += wlv.text_prop_above_count;
- if (wlv.row > endrow)
+ if (wlv.row >= endrow)
+ {
+ vim_free(text_props);
+ vim_free(text_prop_idxs);
return wlv.row;
+ }
wlv.screen_row += wlv.text_prop_above_count;
}
#endif