diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c index 5582c59037..9f2587fadd 100644 --- a/src/basic/stat-util.c +++ b/src/basic/stat-util.c @@ -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); diff --git a/src/basic/stat-util.h b/src/basic/stat-util.h index 17e712200a..a3c60e43c6 100644 --- a/src/basic/stat-util.h +++ b/src/basic/stat-util.h @@ -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);