CLEARENV(3)
Linux Programmer’s Manual
CLEARENV(3)
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 environ-
ment 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 informa-
tion about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
Linux
2007-07-26
1