From a34652ee846b40247064d1cc4ccf9d0aa731638c Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Sun, 9 Jan 2022 15:54:03 +0000 Subject: fix(api): validate user_command name (#17004) The name argument of nvim_add_user_command must begin with an uppercase character. Check that is does. --- src/nvim/api/private/helpers.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/nvim/api/private/helpers.c') diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 38a82343c3..f9603acbda 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -1387,6 +1387,11 @@ void add_user_command(String name, Object command, Dict(user_command) *opts, int LuaRef luaref = LUA_NOREF; LuaRef compl_luaref = LUA_NOREF; + if (mb_islower(name.data[0])) { + api_set_error(err, kErrorTypeValidation, "'name' must begin with an uppercase letter"); + goto err; + } + if (HAS_KEY(opts->range) && HAS_KEY(opts->count)) { api_set_error(err, kErrorTypeValidation, "'range' and 'count' are mutually exclusive"); goto err; -- cgit