dup2, dup3: work around another cygwin crasher
[gnulib.git] / doc / posix-functions / stderr.texi
index 66f5942..10a4e54 100644 (file)
@@ -2,7 +2,7 @@
 @section @code{stderr}
 @findex stderr
 
-POSIX specification: @url{http://www.opengroup.org/susv3xsh/stderr.html}
+POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/stderr.html}
 
 Gnulib module: ---
 
@@ -17,4 +17,11 @@ stderr is created in 32-bit mode instead of 64-bit mode: Cygwin 1.5.x.
 One workaround is to use freopen(NULL, ``r+'', stderr) on Cygwin 1.5.21
 or newer.  Another is to use the gnulib ftello module and do
 ftello(stderr).
+@item
+POSIX states that a setuid application can guarantee that fd 2 is
+open, but some systems guarantee this even for non-setuid programs.
+If an application is executed with fd 2 closed, use of @code{stderr}
+can affect an unrelated file that happened to be assigned to fd 2.
+The gnulib *-safer modules may be used to guarantee that fd 2 stays
+reserved for @code{stderr}.
 @end itemize