return -errno;
while ((de = readdir(d))) {
- int fd;
+ int fd = -1;
if (de->d_name[0] == '.')
continue;
continue;
}
- if ((r = close_nointr(fd)) < 0)
- goto finish;
+ if ((r = close_nointr(fd)) < 0) {
+ /* Valgrind has its own FD and doesn't want to have it closed */
+ if (errno != EBADF)
+ goto finish;
+ }
}
+ r = 0;
+
finish:
closedir(d);
return r;