From 9a52d861868c8d787c66b75753a747e5c1ebedc6 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 21 Aug 2013 16:10:18 -0600 Subject: [PATCH] d-ino: avoid false negative on symlink If the first entry listed in a directory is a symlink, we had a spurious mismatch between d_ino (which should match the symlink) and stat() results (which chases the symlink). Reported by Stephane Chazelas . * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat. Signed-off-by: Eric Blake --- ChangeLog | 6 ++++++ m4/d-ino.m4 | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9da82723f..a5803abdd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-08-21 Eric Blake + + d-ino: avoid false negative on symlink + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat. + Reported by Stephane Chazelas. + 2013-08-12 Mike Miller (tiny change) bootstrap: port to OpenBSD sed diff --git a/m4/d-ino.m4 b/m4/d-ino.m4 index aab82c2df..d093b3ff1 100644 --- a/m4/d-ino.m4 +++ b/m4/d-ino.m4 @@ -1,4 +1,4 @@ -# serial 13 +# serial 14 dnl From Jim Meyering. dnl @@ -30,7 +30,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], e = readdir (dp); if (! e) return 2; - if (stat (e->d_name, &st) != 0) + if (lstat (e->d_name, &st) != 0) return 3; if (e->d_ino != st.st_ino) return 4; -- 2.11.0