Mercurial > vim
changeset 35911:01f558217181 v9.1.0662
patch 9.1.0662: filecopy() may return wrong value when readlink() fails
Commit: https://github.com/vim/vim/commit/da090f95df6c015e4f7fc9e1036795a370503a83
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue Aug 6 19:51:09 2024 +0200
patch 9.1.0662: filecopy() may return wrong value when readlink() fails
Problem: filecopy() may return wrong value when readlink() fails.
Solution: Set ret to -1 so that 0 is returned when readlink() fails.
(zeertzjq)
closes: #15438
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 06 Aug 2024 20:00:10 +0200 |
parents | 629a6ce12fbd |
children | ad32537b5a68 |
files | src/fileio.c src/version.c |
diffstat | 2 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fileio.c +++ b/src/fileio.c @@ -3912,7 +3912,7 @@ vim_rename(char_u *from, char_u *to) /* * Create the new file with same permissions as the original. - * Return -1 for failure, 0 for success. + * Return FAIL for failure, OK for success. */ int vim_copyfile(char_u *from, char_u *to) @@ -3936,7 +3936,7 @@ vim_copyfile(char_u *from, char_u *to) ret = mch_lstat((char *)from, &st); if (ret >= 0 && S_ISLNK(st.st_mode)) { - ret = FAIL; + ret = -1; len = readlink((char *)from, linkbuf, MAXPATHL); if (len > 0)