aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorluukvbaal <31730729+luukvbaal@users.noreply.github.com>2023-01-17 00:31:36 +0100
committerGitHub <noreply@github.com>2023-01-17 07:31:36 +0800
commitda3460562e84dcf608248cc9a5b0eb2341531a0d (patch)
treea9e07e0448db990eba18c4bf7d895491551b4685 /src
parent9ccc6de8d3ebfec0aebdc6dabdb23dd43f102331 (diff)
downloadrneovim-da3460562e84dcf608248cc9a5b0eb2341531a0d.tar.gz
rneovim-da3460562e84dcf608248cc9a5b0eb2341531a0d.tar.bz2
rneovim-da3460562e84dcf608248cc9a5b0eb2341531a0d.zip
fix(api): avoid memory leak with click functions in nvim_eval_statusline() (#21845)
Problem: Allocated click function memory is lost due to `nvim_eval_statusline()` not passing in a `StlClickRecord`. Solution: Do not allocate click function memory if `tabtab == NULL`. Resolve #21764, supersede #21842.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/statusline.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c
index cb5dde1013..3171ee1605 100644
--- a/src/nvim/statusline.c
+++ b/src/nvim/statusline.c
@@ -1323,7 +1323,7 @@ int build_stl_str_hl(win_T *wp, char *out, size_t outlen, char *fmt, char *opt_n
}
stl_items[curitem].type = ClickFunc;
stl_items[curitem].start = out_p;
- stl_items[curitem].cmd = xmemdupz(t, (size_t)(fmt_p - t));
+ stl_items[curitem].cmd = tabtab ? xmemdupz(t, (size_t)(fmt_p - t)) : NULL;
stl_items[curitem].minwid = minwid;
fmt_p++;
curitem++;