aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2022-01-09 15:54:03 +0000
committerGitHub <noreply@github.com>2022-01-09 08:54:03 -0700
commita34652ee846b40247064d1cc4ccf9d0aa731638c (patch)
tree8a47ce64c8aa30535b5ab9a8fd6706cdb4c3b692 /src/nvim/api/private/helpers.c
parent8d5288889a220645a0f0aa7004cf6d1ae29d7369 (diff)
downloadrneovim-a34652ee846b40247064d1cc4ccf9d0aa731638c.tar.gz
rneovim-a34652ee846b40247064d1cc4ccf9d0aa731638c.tar.bz2
rneovim-a34652ee846b40247064d1cc4ccf9d0aa731638c.zip
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.
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c5
1 files changed, 5 insertions, 0 deletions
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;