diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-03-20 19:49:20 +0100 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-03-20 19:49:20 +0100 |
commit | 918b92b961ac319ddb5f24d8cade2cf6aeebc5d5 (patch) | |
tree | d4aeb2d902e505b61a425ef8d2f275d616c0132e /src/drawline.c | |
parent | 9f26e5a9bcedb3caef26e9d77849ea37a3626bbf (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.c | 6 |
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 |