* syscalls.cc (_link): Check new link path for trailing dot.
This commit is contained in:
		
							parent
							
								
									d7aac2acf5
								
							
						
					
					
						commit
						bf921462e7
					
				|  | @ -1,3 +1,7 @@ | ||||||
|  | Thu Apr 20 11:26:00 2000  Corinna Vinschen <corinna@vinschen.de> | ||||||
|  | 
 | ||||||
|  |         * syscalls.cc (_link): Check new link path for trailing dot. | ||||||
|  | 
 | ||||||
| Thu Apr 20 00:32:03 2000  Christopher Faylor <cgf@cygnus.com> | Thu Apr 20 00:32:03 2000  Christopher Faylor <cgf@cygnus.com> | ||||||
| 
 | 
 | ||||||
| 	* fhandler.h (fhandler_base::hclose): New virtual method. | 	* fhandler.h (fhandler_base::hclose): New virtual method. | ||||||
|  |  | ||||||
|  | @ -484,21 +484,23 @@ _link (const char *a, const char *b) | ||||||
| { | { | ||||||
|   int res = -1; |   int res = -1; | ||||||
|   path_conv real_a (a, SYMLINK_NOFOLLOW); |   path_conv real_a (a, SYMLINK_NOFOLLOW); | ||||||
|  |   path_conv real_b (b, SYMLINK_NOFOLLOW); | ||||||
| 
 | 
 | ||||||
|   if (real_a.error) |   if (real_a.error) | ||||||
|     { |     { | ||||||
|       set_errno (real_a.error); |       set_errno (real_a.error); | ||||||
|       syscall_printf ("-1 = link (%s, %s)", a, b); |       goto done; | ||||||
|       return -1; |  | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|   path_conv real_b (b, SYMLINK_NOFOLLOW); |  | ||||||
| 
 |  | ||||||
|   if (real_b.error) |   if (real_b.error) | ||||||
|     { |     { | ||||||
|       set_errno (real_b.error); |       set_errno (real_b.error); | ||||||
|       syscall_printf ("-1 = link (%s, %s)", a, b); |       goto done; | ||||||
|       return -1; |     } | ||||||
|  |   if (real_b.get_win32 ()[strlen (real_b.get_win32 ()) - 1] == '.') | ||||||
|  |     { | ||||||
|  |       syscall_printf ("trailing dot, bailing out"); | ||||||
|  |       set_errno (EINVAL); | ||||||
|  |       goto done; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|   /* Try to make hard link first on Windows NT */ |   /* Try to make hard link first on Windows NT */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue