diff --git a/src/basic/fd-util.c b/src/basic/fd-util.c index b9df043aa7..70c036db17 100644 --- a/src/basic/fd-util.c +++ b/src/basic/fd-util.c @@ -353,6 +353,9 @@ int close_all_fds(const int except[], size_t n_except) { FOREACH_DIRENT(de, d, return -errno) { int fd = -1, q; + if (!IN_SET(de->d_type, DT_LNK, DT_UNKNOWN)) + continue; + if (safe_atoi(de->d_name, &fd) < 0) /* Let's better ignore this, just in case */ continue;