GNU bug report logs -
#8292
COREUTILS-8.9: Potential bug in tests/cp/preserve-gid
Previous Next
Reported by: gmail <arbogast.cedric <at> gmail.com>
Date: Sat, 19 Mar 2011 17:54:02 UTC
Severity: normal
Done: Jim Meyering <jim <at> meyering.net>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 8292 <at> debbugs.gnu.org (full text, mbox):
gmail wrote:
> This is my first contact and mail with this mailing list, to summarize
> i'm a coder maintening a personnal home server using several GNU tools
> since the late 90's.
>
> I build COREUTILS-8.9 in a chroot jail (gcc 4.5.2/libc 2.13/binutils
> 2.21/make 3.82) with an athlon architecture on ext3 FS and, as root,
> got one failed test on tests/cp/preserve-gid :
...
> -t1 a0 "$nameless_uid" "$nameless_gid1" cp -p
> -t1 b0 "$nameless_uid" "$nameless_gid1" cp -p
> -t1 b1 "$nameless_uid" "$nameless_gid2" cp -p
> -t1 c0 "$nameless_uid" "$nameless_gid1" cp -p
> -t1 c1 "$nameless_uid" "$nameless_gid2" cp -p
> +t1 a0 "$nameless_uid" "$nameless_gid1" "../${path_dir_}/cp" -p
> +t1 b0 "$nameless_uid" "$nameless_gid1" "../${path_dir_}/cp" -p
> +t1 b1 "$nameless_uid" "$nameless_gid2" "../${path_dir_}/cp" -p
> +t1 c0 "$nameless_uid" "$nameless_gid1" "../${path_dir_}/cp" -p
> +t1 c1 "$nameless_uid" "$nameless_gid2" "../${path_dir_}/cp" -p
>
> Exit $fail
>
> The checks are now all succesfull on my platform.
...
> The cp call ( "$@" "$f" b ) in preserve-gid with arguments with quote
> could be a problem for some old fahsioned shells, even if i don't see
> any concerned shells.
If you find a problem, please let us know,
but due to the way init.sh selects a usable shell,
I think we don't have to worry about old shells.
> Some commands in other test scripts could have the same problem and
> should be then enforced in the same way, i'll do this if this is the
> right solution.
Nice analysis. Thanks for reporting that.
That's a particularly convoluted part of the test suite.
I think the patch below solves the problem, too, while
continuing to invoke tools solely by their name
(i.e., with no relative or absolute prefix)
Can you confirm?
BTW, coreutils-8.10 is the latest stable release.
From 7a3eca37167590a0cc245dc4ea7cb23815d81665 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering <at> redhat.com>
Date: Sun, 20 Mar 2011 08:56:06 +0100
Subject: [PATCH] tests: fix a bug in cp/preserve-gid
* tests/cp/preserve-gid (t1): Export PATH into the environment used
by setuidgid, so that it runs the just-built "cp", rather than whatever
happens to be in $PATH. Otherwise, we would see a test failure
whenever there is a less-functional cp in PATH.
Analysis by arbogast.cedric <at> gmail.com in http://debbugs.gnu.org/8292.
---
tests/cp/preserve-gid | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/tests/cp/preserve-gid b/tests/cp/preserve-gid
index ac6d221..41b993c 100755
--- a/tests/cp/preserve-gid
+++ b/tests/cp/preserve-gid
@@ -56,7 +56,8 @@ t1() {
f=$1; shift
u=$1; shift
g=$1; shift
- t0 "$f" "$u" "$g" setuidgid -g "$nameless_gid1,$nameless_gid2" \
+ t0 "$f" "$u" "$g" env PATH="$PATH" \
+ setuidgid -g "$nameless_gid1,$nameless_gid2" \
"$nameless_uid" "$@"
}
--
1.7.4.1.499.g53f9
This bug report was last modified 14 years and 120 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.