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)
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    662,
+/**/
     661,
 /**/
     660,