clearenv (3)
Leading comments
Copyright 2001 John Levon <moz@compsoc.man.ac.uk> %%%LICENSE_START(VERBATIM) 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...
NAME
clearenv - clear the environmentSYNOPSIS
#include <stdlib.h> int clearenv(void);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
clearenv(): _SVID_SOURCE || _BSD_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
Available since glibc 2.0.ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).Interface | Attribute | Value |
clearenv() | Thread safety | MT-Unsafe const:env |
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 adds only putenv(3), and rejected clearenv().NOTES
Used in security-conscious applications. If it is unavailable the assignmentenviron = 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.