diff options
Diffstat (limited to 'dirent/bug-readdir1.c')
-rw-r--r-- | dirent/bug-readdir1.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/dirent/bug-readdir1.c b/dirent/bug-readdir1.c index f9c609c..1f70722 100644 --- a/dirent/bug-readdir1.c +++ b/dirent/bug-readdir1.c @@ -23,11 +23,12 @@ main (void) exit (1); } - /* close the dir stream, making it invalid */ - if (closedir (dirp)) + /* close the directory file descriptor, making it invalid */ + if (close (dirfd (dirp)) != 0) { - perror ("closedir"); - exit (1); + puts ("could not close directory file descriptor"); + /* This is not an error. It is not guaranteed this is possible. */ + return 0; } ent = readdir (dirp); |