diff --git a/util.c b/util.c index f3af9567cf..03c60af98d 100644 --- a/util.c +++ b/util.c @@ -1162,10 +1162,15 @@ int close_all_fds(const int except[], unsigned n_except) { 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;