aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2017-03-10 17:26:22 -0500
committerJames McCoy <jamessan@jamessan.com>2017-03-11 20:32:38 -0500
commit2ed2b1d505cc028347b579f677eb8e6bde9dacdd (patch)
tree90636600427eae51716a16beb659fe7dd8cb2192 /src/nvim/eval.c
parenteaf1f9b9dc62b2201fa54374a88029de1b3f94fb (diff)
downloadrneovim-2ed2b1d505cc028347b579f677eb8e6bde9dacdd.tar.gz
rneovim-2ed2b1d505cc028347b579f677eb8e6bde9dacdd.tar.bz2
rneovim-2ed2b1d505cc028347b579f677eb8e6bde9dacdd.zip
vim-patch:7.4.2223
Problem: Buffer overflow when using latin1 character with feedkeys(). Solution: Check for an illegal character. Add a test. https://github.com/vim/vim/commit/d3c907b5d2b352482b580a0cf687cbbea4c19ea1
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 6dc7e5606e..bcad6df337 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -16932,7 +16932,7 @@ static void f_strgetchar(typval_T *argvars, typval_T *rettv, FunPtr fptr)
break;
}
charidx--;
- byteidx += mb_cptr2len(str + byteidx);
+ byteidx += MB_CPTR2LEN(str + byteidx);
}
}
}
@@ -17054,7 +17054,7 @@ static void f_strcharpart(typval_T *argvars, typval_T *rettv, FunPtr fptr) {
if (!error) {
if (nchar > 0) {
while (nchar > 0 && nbyte < slen) {
- nbyte += mb_cptr2len(p + nbyte);
+ nbyte += MB_CPTR2LEN(p + nbyte);
nchar--;
}
} else {
@@ -17069,7 +17069,7 @@ static void f_strcharpart(typval_T *argvars, typval_T *rettv, FunPtr fptr) {
if (off < 0) {
len += 1;
} else {
- len += mb_cptr2len(p + off);
+ len += MB_CPTR2LEN(p + off);
}
charlen--;
}