Name

clearenv — clear the environment

Synopsis

#include <stdlib.h>
int clearenv( void);  
 
[Note] Note
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/.


  Copyright 2001 John Levon <mozcompsoc.man.ac.uk>

Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date.  The author(s) assume no
responsibility for errors or omissions, or for damages resulting from
the use of the information contained herein.  The author(s) may not
have taken the same level of care in the production of this manual,
which is licensed free of charge, as they might when working
professionally.

Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.

Additions, aeb, 2001-10-17.