mirror of
https://github.com/vim/vim.git
synced 2025-07-25 10:54:51 -04:00
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>
This commit is contained in:
parent
d7af21e746
commit
da090f95df
@ -3912,7 +3912,7 @@ vim_rename(char_u *from, char_u *to)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the new file with same permissions as the original.
|
* 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
|
int
|
||||||
vim_copyfile(char_u *from, char_u *to)
|
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);
|
ret = mch_lstat((char *)from, &st);
|
||||||
if (ret >= 0 && S_ISLNK(st.st_mode))
|
if (ret >= 0 && S_ISLNK(st.st_mode))
|
||||||
{
|
{
|
||||||
ret = FAIL;
|
ret = -1;
|
||||||
|
|
||||||
len = readlink((char *)from, linkbuf, MAXPATHL);
|
len = readlink((char *)from, linkbuf, MAXPATHL);
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
662,
|
||||||
/**/
|
/**/
|
||||||
661,
|
661,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user