Mercurial > hg > octave-shane > gnulib-hg
changeset 17322:d77c98cd7cfd
secure_getenv: port better to FreeBSD and Solaris
* lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
(secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
This works better on BSDish platforms.
* m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
Test for issetugid if __secure_getenv is missing.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Thu, 07 Feb 2013 15:34:23 -0800 |
parents | 896204e6fbfc |
children | a56636d89038 |
files | ChangeLog lib/secure_getenv.c m4/secure_getenv.m4 |
diffstat | 3 files changed, 25 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2013-02-07 Paul Eggert <eggert@cs.ucla.edu> + + secure_getenv: port better to FreeBSD and Solaris + * lib/secure_getenv.c [!HAVE___SECURE_GETENV]: + Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid. + (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid. + This works better on BSDish platforms. + * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): + Test for issetugid if __secure_getenv is missing. + 2013-02-06 Paul Eggert <eggert@cs.ucla.edu> extensions: port better to MINUX 3, HP-UX, autoheader 2.62
--- a/lib/secure_getenv.c +++ b/lib/secure_getenv.c @@ -17,12 +17,23 @@ #include <stdlib.h> +#if !HAVE___SECURE_GETENV +# if HAVE_ISSETUGID +# include <unistd.h> +# else +# undef issetugid +# define issetugid() 1 +# endif +#endif + char * secure_getenv (char const *name) { #if HAVE___SECURE_GETENV return __secure_getenv (name); #else - return 0; + if (issetugid ()) + return 0; + return getenv (name); #endif }