diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-11-29 11:18:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-29 11:18:15 +0800 |
commit | 7328c4de54ac96b39853b3f43736aff863fd209d (patch) | |
tree | a8305c852721863b08d9cea796bf0d2611a52f8d /src/nvim/eval/funcs.c | |
parent | 65e8ed45de98bf93491c6740772f0a42834696ab (diff) | |
download | rneovim-7328c4de54ac96b39853b3f43736aff863fd209d.tar.gz rneovim-7328c4de54ac96b39853b3f43736aff863fd209d.tar.bz2 rneovim-7328c4de54ac96b39853b3f43736aff863fd209d.zip |
vim-patch:9.0.0733: use of strftime() is not safe (#21228)
Problem: Use of strftime() is not safe.
Solution: Check the return value of strftime(). Use a larger buffer and
correctly pass the available space. (Dominique Pellé, closes
vim/vim#11348)
https://github.com/vim/vim/commit/84d14ccdb50dc9f362066a2c83bfaf331314e5ea
Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r-- | src/nvim/eval/funcs.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index ebe7e0325b..c312ae61a5 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -8445,9 +8445,7 @@ static void f_strftime(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) p = string_convert(&conv, p, NULL); } char result_buf[256]; - if (p != NULL) { - (void)strftime(result_buf, sizeof(result_buf), p, curtime_ptr); - } else { + if (p == NULL || strftime(result_buf, sizeof(result_buf), p, curtime_ptr) == 0) { result_buf[0] = NUL; } |