diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-23 15:49:21 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-23 16:06:46 -0300 |
commit | 399a0e37405a0f68ef3373c8ad9bcfa94ee0f649 (patch) | |
tree | 4f8b2a8ce5ef9521917bf5023fd90babfef9804b /src/nvim/api/vim.c | |
parent | 677d30d7966dd2766bbf20665791c568dacc427a (diff) | |
download | rneovim-399a0e37405a0f68ef3373c8ad9bcfa94ee0f649.tar.gz rneovim-399a0e37405a0f68ef3373c8ad9bcfa94ee0f649.tar.bz2 rneovim-399a0e37405a0f68ef3373c8ad9bcfa94ee0f649.zip |
API: Bugfix: Terminate directory string in vim_change_directory
Also check that the string length is not equal or greater than MAXPATHL.
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 1f335cf5e0..8cf4fb04d7 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -118,8 +118,14 @@ StringArray vim_list_runtime_paths(void) void vim_change_directory(String dir, Error *err) { + if (dir.size >= MAXPATHL) { + set_api_error("directory string is too long", err); + return; + } + char string[MAXPATHL]; strncpy(string, dir.data, dir.size); + string[dir.size] = NUL; try_start(); |