[patch] fileio.exp FAILs if run as root

Jan Kratochvil jan.kratochvil@redhat.com
Sun Dec 9 01:19:00 GMT 2007


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
-------------- next part --------------
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


More information about the Gdb-patches mailing list