From 7f23ec398de634ead63948a0dc5e52ea3cfb34a1 Mon Sep 17 00:00:00 2001 From: oni-link Date: Fri, 7 Mar 2014 18:04:15 +0100 Subject: 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. --- src/os/fs.c | 8 +++++--- 1 file 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; } -- cgit