aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-05-02 16:23:30 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-05-03 13:16:38 -0400
commitbc29283f209db7a7de3c999af2780c3d5a30ebae (patch)
tree2c1415dda11151ae59cd8af4412f62deeba5ce64
parent560ce2535914cc45fe5c12fdd09665dd24a80310 (diff)
downloadrneovim-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.c9
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;