diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-05-02 16:23:30 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-05-03 13:16:38 -0400 |
commit | bc29283f209db7a7de3c999af2780c3d5a30ebae (patch) | |
tree | 2c1415dda11151ae59cd8af4412f62deeba5ce64 | |
parent | 560ce2535914cc45fe5c12fdd09665dd24a80310 (diff) | |
download | rneovim-bc29283f209db7a7de3c999af2780c3d5a30ebae.tar.gz rneovim-bc29283f209db7a7de3c999af2780c3d5a30ebae.tar.bz2 rneovim-bc29283f209db7a7de3c999af2780c3d5a30ebae.zip |
vim-patch:8.2.0678: rare crash for popup menu
Problem: Rare crash for popup menu.
Solution: Check for NULL pointer. (Nobuhiro Takasaki, closes vim/vim#6027)
https://github.com/vim/vim/commit/d58a662f44dc11475f4cf5922a948635da934cc4
-rw-r--r-- | src/nvim/popupmnu.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/popupmnu.c b/src/nvim/popupmnu.c index 532bf68190..e06433892d 100644 --- a/src/nvim/popupmnu.c +++ b/src/nvim/popupmnu.c @@ -63,9 +63,12 @@ static void pum_compute_size(void) pum_kind_width = 0; pum_extra_width = 0; for (int i = 0; i < pum_size; i++) { - int w = vim_strsize(pum_array[i].pum_text); - if (pum_base_width < w) { - pum_base_width = w; + int w; + if (pum_array[i].pum_text != NULL) { + w = vim_strsize(pum_array[i].pum_text); + if (pum_base_width < w) { + pum_base_width = w; + } } if (pum_array[i].pum_kind != NULL) { w = vim_strsize(pum_array[i].pum_kind) + 1; |