CLEARENV

Section: Linux Programmer's Manual (3)
Updated: 2014-08-19
Index Return to Main Contents
 

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 || _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.  

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 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.74 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
VERSIONS
CONFORMING TO
NOTES
SEE ALSO
COLOPHON