From 1a4ce9df5884405a7152855b868c3a7bfbeec385 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Mon, 22 Oct 2007 01:36:13 -0400 Subject: [PATCH] libe2p: Use lstat() instead of stat() in fsetflags() and fgetflags() We can't set the flags on symbolic links, so check for them using lstat(). Signed-off-by: "Theodore Ts'o" --- lib/e2p/fgetflags.c | 2 +- lib/e2p/fsetflags.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c index 0aed6c8..372304f 100644 --- a/lib/e2p/fgetflags.c +++ b/lib/e2p/fgetflags.c @@ -65,7 +65,7 @@ int fgetflags (const char * name, unsigned long * flags) #if HAVE_EXT2_IOCTLS int fd, r, f, save_errno = 0; - if (!stat(name, &buf) && + if (!lstat(name, &buf) && !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) { goto notsupp; } diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c index 2f1277f..3a05324 100644 --- a/lib/e2p/fsetflags.c +++ b/lib/e2p/fsetflags.c @@ -71,7 +71,7 @@ int fsetflags (const char * name, unsigned long flags) #if HAVE_EXT2_IOCTLS int fd, r, f, save_errno = 0; - if (!stat(name, &buf) && + if (!lstat(name, &buf) && !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) { goto notsupp; } -- 1.8.3.1