]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
stat-util: add fd_verify_symlink() helper
authorLennart Poettering <lennart@poettering.net>
Thu, 17 Jul 2025 05:56:57 +0000 (07:56 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 14 Oct 2025 09:21:46 +0000 (11:21 +0200)
src/basic/stat-util.c
src/basic/stat-util.h

index 5582c5903757ac54c626d271af34a46df34ce520..9f2587faddd58dfc083efb775986937250ae419c 100644 (file)
@@ -108,6 +108,10 @@ int stat_verify_symlink(const struct stat *st) {
         return 0;
 }
 
+int fd_verify_symlink(int fd) {
+        return verify_stat_at(fd, /* path= */ NULL, /* follow= */ false, stat_verify_symlink, /* verify= */ true);
+}
+
 int is_symlink(const char *path) {
         assert(!isempty(path));
         return verify_stat_at(AT_FDCWD, path, false, stat_verify_symlink, false);
index 17e712200a2afb5105f758ff40c67502c622d414..a3c60e43c671ed2af6708625ff0ab028097d0e4b 100644 (file)
@@ -16,6 +16,7 @@ int is_dir_at(int fd, const char *path, bool follow);
 int is_dir(const char *path, bool follow);
 
 int stat_verify_symlink(const struct stat *st);
+int fd_verify_symlink(int fd);
 int is_symlink(const char *path);
 
 int stat_verify_linked(const struct stat *st);