diff options
author | Florian Weimer <fweimer@redhat.com> | 2012-07-25 19:46:22 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2012-07-25 19:46:22 +0200 |
commit | 84b3fd8407cc9a2e7f487b6247681bd8a78a4560 (patch) | |
tree | 26e482f31c4fe6e36d8aa64394ff4659908bdc4f /manual/startup.texi | |
parent | 56e49b714ecd32c72c334802b00e3d62008d98e3 (diff) | |
download | glibc-84b3fd8407cc9a2e7f487b6247681bd8a78a4560.zip glibc-84b3fd8407cc9a2e7f487b6247681bd8a78a4560.tar.gz glibc-84b3fd8407cc9a2e7f487b6247681bd8a78a4560.tar.bz2 |
Rename __secure_getenv to secure_getenv
Diffstat (limited to 'manual/startup.texi')
-rw-r--r-- | manual/startup.texi | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/manual/startup.texi b/manual/startup.texi index 0420e93..d0be5e6 100644 --- a/manual/startup.texi +++ b/manual/startup.texi @@ -310,11 +310,15 @@ character, since this is assumed to terminate the string. The value of an environment variable can be accessed with the @code{getenv} function. This is declared in the header file -@file{stdlib.h}. Modifications of enviroment variables are not -allowed in Multi-threaded programs. The @code{getenv} function -can be safely used in multi-threaded programs +@file{stdlib.h}. @pindex stdlib.h +Libraries should use @code{secure_getenv} instead of @code{getenv}, so +that they do not accidentally use untrusted environment variables. +Modifications of environment variables are not allowed in +multi-threaded programs. The @code{getenv} and @code{secure_getenv} +functions can be safely used in multi-threaded programs. + @comment stdlib.h @comment ISO @deftypefun {char *} getenv (const char *@var{name}) @@ -326,6 +330,18 @@ environment variable @var{name} is not defined, the value is a null pointer. @end deftypefun +@comment stdlib.h +@comment GNU +@deftypefun {char *} secure_getenv (const char *@var{name}) +This function is similar to @code{getenv}, but it returns a null +pointer if the environment is untrusted. This happens when the +program file has SUID or SGID bits set. General-purpose libraries +should always prefer this function over @code{getenv} to avoid +vulnerabilities if the library is referenced from a SUID/SGID program. + +This function is a GNU extension. +@end deftypefun + @comment stdlib.h @comment SVID |