summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/basic/copy.c4
-rw-r--r--src/basic/stat-util.c4
-rw-r--r--src/nspawn/nspawn-patch-uid.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/src/basic/copy.c b/src/basic/copy.c
index 97d566c5b9..b384010ae3 100644
--- a/src/basic/copy.c
+++ b/src/basic/copy.c
@@ -15,6 +15,7 @@
#include "copy.h"
#include "dirent-util.h"
#include "fd-util.h"
+#include "fileio.h"
#include "fs-util.h"
#include "io-util.h"
#include "macro.h"
@@ -569,10 +570,9 @@ static int fd_copy_directory(
if (fdf < 0)
return -errno;
- d = fdopendir(fdf);
+ d = take_fdopendir(&fdf);
if (!d)
return -errno;
- fdf = -1;
exists = false;
if (copy_flags & COPY_MERGE_EMPTY) {
diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c
index 8ef90e96b7..5412ccbf7d 100644
--- a/src/basic/stat-util.c
+++ b/src/basic/stat-util.c
@@ -10,6 +10,7 @@
#include "alloc-util.h"
#include "dirent-util.h"
#include "fd-util.h"
+#include "fileio.h"
#include "fs-util.h"
#include "macro.h"
#include "missing_fs.h"
@@ -77,10 +78,9 @@ int dir_is_empty_at(int dir_fd, const char *path) {
if (fd < 0)
return -errno;
- d = fdopendir(fd);
+ d = take_fdopendir(&fd);
if (!d)
return -errno;
- fd = -1;
FOREACH_DIRENT(de, d, return -errno)
return 0;
diff --git a/src/nspawn/nspawn-patch-uid.c b/src/nspawn/nspawn-patch-uid.c
index fc591e2725..112c3562ac 100644
--- a/src/nspawn/nspawn-patch-uid.c
+++ b/src/nspawn/nspawn-patch-uid.c
@@ -8,6 +8,7 @@
#include "acl-util.h"
#include "dirent-util.h"
#include "fd-util.h"
+#include "fileio.h"
#include "fs-util.h"
#include "missing_magic.h"
#include "nspawn-def.h"
@@ -335,12 +336,11 @@ static int recurse_fd(int fd, bool donate_fd, const struct stat *st, uid_t shift
donate_fd = true;
}
- d = fdopendir(fd);
+ d = take_fdopendir(&fd);
if (!d) {
r = -errno;
goto finish;
}
- fd = -1;
FOREACH_DIRENT_ALL(de, d, r = -errno; goto finish) {
struct stat fst;