mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -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:
		
				
					committed by
					
						 Christian Brabandt
						Christian Brabandt
					
				
			
			
				
	
			
			
			
						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. | ||||
|  * 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) | ||||
|   | ||||
| @@ -704,6 +704,8 @@ static char *(features[]) = | ||||
|  | ||||
| static int included_patches[] = | ||||
| {   /* Add new patch number below this line */ | ||||
| /**/ | ||||
|     662, | ||||
| /**/ | ||||
|     661, | ||||
| /**/ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user