Provided by: manpages-pt-dev_20040726-4_all bug

NAME

       mkstemp - create a unique temporary file

SYNOPSIS

       #include <stdlib.h>

       int mkstemp(char *template);

DESCRIPTION

       The  mkstemp() function generates a unique temporary file name from template.  The last six characters of
       template must be XXXXXX and these are replaced with a string that makes the filename unique. The file  is
       then  created  with mode read/write and permissions 0666 (glibc 2.0.6 and earlier), 0600 (glibc 2.0.7 and
       later).  Since it will be modified, template must not be a string constant, but should be declared  as  a
       character  array.   The  file  is  opened  with  the  O_EXCL flag, guaranteeing that when mkstemp returns
       successfully we are the only user.

RETURN VALUE

       The mkstemp() function returns the file descriptor fd of the temporary file or -1 on error.

ERRORS

       EINVAL The last six characters of template were not XXXXXX.  Now template is unchanged.

       EEXIST Could not create a unique temporary filename.  Now the contents of template are undefined.

BUGS

       The old behaviour (creating a file with mode 0666) may be a security risk, especially  since  other  Unix
       flavours use 0600, and somebody might overlook this detail when porting programs.

CONFORMING TO

       BSD 4.3

NOTE

       The prototype is in <unistd.h> for libc4, libc5, glibc1; glibc2 follows the Single Unix Specification and
       has the prototype in <stdlib.h>.

SEE ALSO

       mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)