This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: other/2141: set -C in gccbug not portable
- To: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- Subject: Re: other/2141: set -C in gccbug not portable
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Mon, 12 Mar 2001 14:08:32 +0000
- cc: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>, gcc-gnats at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, Richard dot Earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: Richard dot Earnshaw at arm dot com
> On Mon, 12 Mar 2001, Rainer Orth wrote:
>
> > How about using a different approach: creating a unique temporary directory
> > and storing the gccbug temp files there? This shouldn't be vulnerable to
> > temp races and doesn't rely on non-portable options either.
>
> It's also more prone to DoS attacks than the mktemp method, so mktemp is
> still preferable on systems that have it.
>
> I presume that any systems on which mkdir fails to return a proper exit
> status (non-zero if the directory already exists) or follows symlinks also
> lack set -C?
One or two ideas:
Determine if we are root and refuse to run if there is no safe mktemp or
whatever.
Determine if we are root and then use "su nobody" to create the temporary
file.
use csh and set the noclobber variable to create the temporary file