From: Lennart Poettering Date: Thu, 17 Jul 2025 05:56:57 +0000 (+0200) Subject: stat-util: add fd_verify_symlink() helper X-Git-Tag: v259-rc1~324^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8be204df2b70773d23695e01550c42f1b7c3c92f;p=thirdparty%2Fsystemd.git stat-util: add fd_verify_symlink() helper --- diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c index 5582c590375..9f2587faddd 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 17e712200a2..a3c60e43c67 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);