clearenv

SYNOPSIS

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 nonzero value on
failure.

VERSIONS

Not in libc4, libc5. In glibc since glibc 2.0.

CONFORMING TO

Various UNIX variants (DG/UX, HP-UX, QNX, ...). POSIX.9 (bindings for
FORTRAN77). POSIX.1-1996 did not accept clearenv() and putenv(3), but
changed its mind and scheduled these functions for some later issue of
this standard (cf. B.4.6.1). However, POSIX.1-2001 adds only
putenv(3), and rejected clearenv().

NOTES

Used in security-conscious applications. If it is unavailable the
assignment
environ = NULL;
will probably do.
The DG/UX and Tru64 man pages write: If environ has been modified by
anything other than the putenv(3), getenv(3), or clearenv() functions,
then clearenv() will return an error and the process environment will
remain unchanged.