systemd/backport-stat-util-specify-O_DIRECTORY-when-reopening-dir-in-.patch

37 lines
1.3 KiB
Diff

From e1e32516f98a1f39ce763545de9a8664526d0b8a Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 21 Oct 2021 18:07:06 +0200
Subject: [PATCH] stat-util: specify O_DIRECTORY when reopening dir in
dir_is_empty_at()
That way we can fail earlier if the specified fd is not actually a
directory.
(Also, it's not exactly according to standards to open things without
either O_RDONLY/O_RDWR...)
(cherry picked from commit b9d06522631a22d242374dc44a74c3b6459e3cb3)
Conflict:NA
Reference:https://github.com/systemd/systemd/commit/e1e32516f98a1f39ce763545de9a8664526d0b8a
---
src/basic/stat-util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c
index 72a7e4a48b..56f7652cec 100644
--- a/src/basic/stat-util.c
+++ b/src/basic/stat-util.c
@@ -79,7 +79,7 @@ int dir_is_empty_at(int dir_fd, const char *path) {
} else {
/* Note that DUPing is not enough, as the internal pointer
* would still be shared and moved by FOREACH_DIRENT. */
- fd = fd_reopen(dir_fd, O_CLOEXEC);
+ fd = fd_reopen(dir_fd, O_RDONLY|O_DIRECTORY|O_CLOEXEC);
if (fd < 0)
return fd;
}
--
2.33.0