From: zeertzjq Date: Tue, 6 Aug 2024 17:51:09 +0000 (+0200) Subject: patch 9.1.0662: filecopy() may return wrong value when readlink() fails X-Git-Tag: v9.1.0662^0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=da090f95df6c015e4f7fc9e1036795a370503a83;p=thirdparty%2Fvim.git 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 Signed-off-by: Christian Brabandt --- diff --git a/src/fileio.c b/src/fileio.c index 7bae626a97..d27a1727ed 100644 --- 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) diff --git a/src/version.c b/src/version.c index 460afa967e..3a6faeb539 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 662, /**/ 661, /**/