aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2021-01-03 19:14:18 +0100
committerGitHub <noreply@github.com>2021-01-03 19:14:18 +0100
commitfd960a33e4d370917ede6b460efb069e663dbbc9 (patch)
tree2477c16ba67dabc1d1561d789e5065d2f477b1c6 /src/nvim/api/private/helpers.c
parentae63dc264a3107a02bb9338fe328455bc1f14517 (diff)
downloadrneovim-fd960a33e4d370917ede6b460efb069e663dbbc9.tar.gz
rneovim-fd960a33e4d370917ede6b460efb069e663dbbc9.tar.bz2
rneovim-fd960a33e4d370917ede6b460efb069e663dbbc9.zip
fix: check for valid buffer handles in modify_keymap (#13543)
Fixes #13541 Neovim would crash when trying to map a key on non existant buffer
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 2c99d3426c..8f224e8c78 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -820,6 +820,10 @@ void modify_keymap(Buffer buffer, bool is_unmap, String mode, String lhs,
}
buf_T *target_buf = find_buffer_by_handle(buffer, err);
+ if (!target_buf) {
+ return;
+ }
+
MapArguments parsed_args;
memset(&parsed_args, 0, sizeof(parsed_args));
if (parse_keymap_opts(opts, &parsed_args, err)) {