| NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | VERSIONS | CONFORMING TO | NOTES | SEE ALSO | COLOPHON | The Linux Programming Interface |
CLEARENV(3) Linux Programmer's Manual CLEARENV(3)
clearenv - clear the environment
#include <stdlib.h>
int clearenv(void);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
clearenv(): _SVID_SOURCE || _BSD_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 environment will remain unchanged.
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)
This page is part of release 3.32 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/.
Linux 2010-10-04 CLEARENV(3)
HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface