* 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>
|
||||
|
||||
* fhandler.h (fhandler_base::hclose): New virtual method.
|
||||
|
|
|
@ -484,21 +484,23 @@ _link (const char *a, const char *b)
|
|||
{
|
||||
int res = -1;
|
||||
path_conv real_a (a, SYMLINK_NOFOLLOW);
|
||||
path_conv real_b (b, SYMLINK_NOFOLLOW);
|
||||
|
||||
if (real_a.error)
|
||||
{
|
||||
set_errno (real_a.error);
|
||||
syscall_printf ("-1 = link (%s, %s)", a, b);
|
||||
return -1;
|
||||
goto done;
|
||||
}
|
||||
|
||||
path_conv real_b (b, SYMLINK_NOFOLLOW);
|
||||
|
||||
if (real_b.error)
|
||||
{
|
||||
set_errno (real_b.error);
|
||||
syscall_printf ("-1 = link (%s, %s)", a, b);
|
||||
return -1;
|
||||
goto done;
|
||||
}
|
||||
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 */
|
||||
|
|
Loading…
Reference in New Issue