mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-18 11:00:07 +00:00
Update.
* sysdeps/posix/getcwd.c (__getcwd): Don't stop processing directory entries when a lstat call fails. Patch by Colin Plumb <colin@nyx.net>.
This commit is contained in:
parent
67479a700e
commit
74f7e7c0bd
@ -1,5 +1,9 @@
|
||||
1998-10-18 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/posix/getcwd.c (__getcwd): Don't stop processing
|
||||
directory entries when a lstat call fails.
|
||||
Patch by Colin Plumb <colin@nyx.net>.
|
||||
|
||||
* resolv/nss_dns/dns-host.c: Add missing errnop parameter to the
|
||||
NSS functions.
|
||||
* resolv/nss_dns/dns-network.c: Likewise.
|
||||
|
@ -1,5 +1,3 @@
|
||||
|
||||
* If we have reached the max. # of process, close accept socket.
|
||||
! THIS COULD CAUSE THE KERNEL TO HANG ! BE CAREFUL !
|
||||
|
||||
* Implement cache for hosts
|
||||
|
@ -333,14 +333,13 @@ __getcwd (buf, size)
|
||||
name[dotlist + dotsize - dotp] = '/';
|
||||
strcpy (&name[dotlist + dotsize - dotp + 1], d->d_name);
|
||||
#endif
|
||||
if (__lstat (name, &st) < 0)
|
||||
{
|
||||
int save = errno;
|
||||
(void) __closedir (dirstream);
|
||||
__set_errno (save);
|
||||
goto lose;
|
||||
}
|
||||
if (st.st_dev == thisdev && st.st_ino == thisino)
|
||||
/* We don't fail here if we cannot stat() a directory entry.
|
||||
This can happen when (network) filesystems fail. If this
|
||||
entry is in fact the one we are looking for we will find
|
||||
out soon as we reach the end of the directory without
|
||||
having found anything. */
|
||||
if (__lstat (name, &st) >= 0
|
||||
&& st.st_dev == thisdev && st.st_ino == thisino)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user