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.
This commit is contained in:
luukvbaal
2023-01-17 00:31:36 +01:00
committed by GitHub
parent 9ccc6de8d3
commit da3460562e
2 changed files with 12 additions and 1 deletions

View File

@@ -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++;