This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] fileio.exp FAILs if run as root
On Sat, 08 Dec 2007 19:58:05 +0100, Mark Kettenis wrote:
> > Date: Sat, 8 Dec 2007 19:14:22 +0100
> > From: Jan Kratochvil <jan.kratochvil@redhat.com>
> >
> > Hi,
> >
> > if you run gdb.base/fileio.exp as UID 0 it will print:
> > FAIL: gdb.base/fileio.exp: Open for write but no write permission returns EACCES
> > FAIL: gdb.base/fileio.exp: Unlinking a file in a directory w/o write access returns EACCES
>
> People running the testsuite as root deserve what they get. I don't
> think we should complicate our code to make that possible, especially
> if it involves calling setuid() which is notoriously unportable.
OK, this is the other possibility I was considering.
Regards,
Jan
2007-12-08 Jan Kratochvil <jan.kratochvil@redhat.com>
* lib/gdb.exp: Refuse to run as root.
--- ./gdb/testsuite/lib/gdb.exp 30 Oct 2007 19:23:18 -0000 1.92
+++ ./gdb/testsuite/lib/gdb.exp 8 Dec 2007 19:12:00 -0000
@@ -26,6 +26,14 @@ if {$tool == ""} {
exit 2
}
+set uidfile [open "|id -u" r];
+gets $uidfile uid
+catch {close $uidfile}
+if {$uid == 0} {
+ send_error "Root privileges give false results, run as a regular user!\n"
+ exit 2
+}
+
load_lib libgloss.exp
global GDB