Man Linux: Main Page and Category List

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