aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-11-29 11:18:15 +0800
committerGitHub <noreply@github.com>2022-11-29 11:18:15 +0800
commit7328c4de54ac96b39853b3f43736aff863fd209d (patch)
treea8305c852721863b08d9cea796bf0d2611a52f8d /src/nvim/eval/funcs.c
parent65e8ed45de98bf93491c6740772f0a42834696ab (diff)
downloadrneovim-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.c4
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;
}