NAME
clearenv - clear the environment
SYNOPSIS
#include <stdlib.h>
int clearenv(void);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
clearenv(): _SVID_SOURCE || _XOPEN_SOURCE
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 only adds
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.
SEE ALSO
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)
COLOPHON
This page is part of release 3.24 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.