* io/ftw.c (process_entry): If dir->streamfd != -1,

use FXSTATAT rather than LXSTAT to find if unstatable
	file is a dead symlink.
This commit is contained in:
Ulrich Drepper 2006-03-02 16:33:18 +00:00
parent 70c50602cc
commit bb54908866
2 changed files with 19 additions and 6 deletions

View File

@ -1,4 +1,8 @@
006-03-02 Jakub Jelinek <jakub@redhat.com>
2006-03-02 Jakub Jelinek <jakub@redhat.com>
* io/ftw.c (process_entry): If dir->streamfd != -1,
use FXSTATAT rather than LXSTAT to find if unstatable
file is a dead symlink.
* elf/check-textrel.c: Include config.h.
(AB(handle_file)): Don't fail if PF_X | PF_W on architectures known

View File

@ -419,13 +419,22 @@ process_entry (struct ftw_data *data, struct dir_data *dir, const char *name,
{
if (errno != EACCES && errno != ENOENT)
result = -1;
else if (!(data->flags & FTW_PHYS)
&& (d_type == DT_LNK
|| (LXSTAT (_STAT_VER, name, &st) == 0
&& S_ISLNK (st.st_mode))))
else if (data->flags & FTW_PHYS)
flag = FTW_NS;
else if (d_type == DT_LNK)
flag = FTW_SLN;
else
flag = FTW_NS;
{
if (dir->streamfd != -1)
statres = FXSTATAT (_STAT_VER, dir->streamfd, name, &st,
AT_SYMLINK_NOFOLLOW);
else
statres = LXSTAT (_STAT_VER, name, &st);
if (statres == 0 && S_ISLNK (st.st_mode))
flag = FTW_SLN;
else
flag = FTW_NS;
}
}
else
{