clearenv
CLEARENV(3) CLEARENV(3)
NAME
clearenv - clear the environment
SYNOPSIS
#include <stdlib.h>
int clearenv(void);
DESCRIPTION
The clearenv() function clears the environment of all name-value pairs
and sets the value of the external variable environ to NULL.
RETURN VALUE
The clearenv() function returns zero on success, and a non-zero value
on failure.
AVAILABILITY
Not in libc4, libc5. In glibc since glibc 2.0.
CONFORMING TO
Various Unix variants (DGUX, HPUX, QNX, ...). POSIX.9 (bindings for
FORTRAN77). POSIX.1-1996 did not accept clearenv() and putenv(), but
changed its mind and scheduled these functions for some later issue of
this standard (cf. B.4.6.1). However, SUSv3 only adds putenv(), and
rejected clearenv().
NOTES
Used in security-conscious applications. If it is unavailable the
assignment
environ = NULL;
will probably do.
The DGUX and Tru64 manpages write: If environ has been modified by any-
thing other than the putenv(), getenv(), or clearenv() functions, then
clearenv() will return an error and the process environment will remain
unchanged.
SEE ALSO
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(5)
Linux Programmer's Manual 2001-10-17 CLEARENV(3)