From: Theodore Ts'o Date: Mon, 22 Oct 2007 05:36:13 +0000 (-0400) Subject: libe2p: Use lstat() instead of stat() in fsetflags() and fgetflags() X-Git-Tag: v1.41-WIP-0427~125 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=1a4ce9df5884405a7152855b868c3a7bfbeec385;p=tools%2Fe2fsprogs.git 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" --- 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; }