From 965232b5b9899e1939029c448d3870d92f35d1db Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 13 Oct 2006 21:11:53 +0000 Subject: More chown/chgrp dereferencing-related fixes. * src/chown-core.c (change_file_owner): Don't use fts_statp if we're dereferencing symlinks. Reverse conjuncts, so that we use dereference file_stats (aka ent->fts_statp) only *after* we've confirmed that chopt->affect_symlink_referent is true. Otherwise, we might use ent->fts_statp uninitialized. Don't turn on FTS_NOSTAT when dereferencing symlinks. * tests/chown/deref: Update the expected diagnostic, now that this test case (trying to use "chown --dereference ..." on a dangling symlink) takes a different code path. --- tests/chown/deref | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/chown/deref') diff --git a/tests/chown/deref b/tests/chown/deref index 2c7facd74..dc912533b 100755 --- a/tests/chown/deref +++ b/tests/chown/deref @@ -2,7 +2,7 @@ # For coreutils-5.2.1 and earlier, chown --dereference would skip # symlinks having owner/group matching the specified owner/group. -# Copyright (C) 2004 Free Software Foundation, Inc. +# Copyright (C) 2004, 2006 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ chown --dereference $user dangle 2> out1 && fail=1 sed 's/: [^:]*$//' out1 > out cat <<\EOF > exp || fail=1 -chown: changing ownership of `dangle' +chown: cannot dereference `dangle' EOF cmp out exp || fail=1 -- cgit v1.2.3-54-g00ecf