diff options
author | oni-link <knil.ino@gmail.com> | 2014-03-07 18:04:15 +0100 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-03-13 17:25:22 -0300 |
commit | 7f23ec398de634ead63948a0dc5e52ea3cfb34a1 (patch) | |
tree | 1dfa448f75a956934ab2fa2f1bbc2769e506785e /src | |
parent | 33eb031c01a0a918283290884db0e72ea2f587f0 (diff) | |
download | rneovim-7f23ec398de634ead63948a0dc5e52ea3cfb34a1.tar.gz rneovim-7f23ec398de634ead63948a0dc5e52ea3cfb34a1.tar.bz2 rneovim-7f23ec398de634ead63948a0dc5e52ea3cfb34a1.zip |
Fix: Use an assert to make sure, an error message can be copied into buffer buf in mch_dirname().
The copied error message is NUL-terminated.
Diffstat (limited to 'src')
-rw-r--r-- | src/os/fs.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/os/fs.c b/src/os/fs.c index a76a6358ff..ee7424d745 100644 --- a/src/os/fs.c +++ b/src/os/fs.c @@ -33,10 +33,12 @@ int mch_chdir(char *path) { */ int mch_dirname(char_u *buf, int len) { + assert(buf && len); + int errno; - if ((errno = uv_cwd((char *) buf, len)) != 0) { - STRCPY(buf, uv_strerror(errno)); - return FAIL; + if ((errno = uv_cwd((char *)buf, len)) != 0) { + vim_strncpy(buf, (char_u *)uv_strerror(errno), len - 1); + return FAIL; } return OK; } |