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)):


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.

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.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at

Linux 2007-07-26 CLEARENV(3)