diff options
Diffstat (limited to 'io/fts.c')
-rw-r--r-- | io/fts.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -570,7 +570,7 @@ fts_build(sp, type) register FTS *sp; int type; { - register struct dirent *dp; + register struct dirent dirbuf, *dp; register FTSENT *p, *head; register int nitems; FTSENT *cur, *tail; @@ -660,7 +660,8 @@ fts_build(sp, type) /* Read the directory, attaching each entry to the `link' pointer. */ adjaddr = NULL; - for (head = tail = NULL, nitems = 0; dp = readdir(dirp);) { + for (head = tail = NULL, nitems = 0; + __readdir_r (dirp, &dirbuf, &dp) >= 0;) { int namlen; if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name)) |