Linux Programmer’s Manual
clearenv − clear the environment
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
clearenv(): _SVID_SOURCE || _XOPEN_SOURCE
The clearenv() function clears the environment of all name-value pairs and sets the value of the external
variable environ to NULL.
The clearenv() function returns zero on success, and a nonzero value on failure.
Not in libc4, libc5. In glibc since glibc 2.0.
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().
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 environ-
ment will remain unchanged.
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)
This page is part of release 3.24 of the Linux man-pages project. A description of the project, and informa-
tion about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.