[Libreoffice] Fwd: warning: the use of `tmpnam' is dangerous, better use `mkstemp'

Julien Nabet serval2412 at yahoo.fr
Sat Jun 11 06:37:06 PDT 2011


I leafed through the definition of createTempFile in 
sal/inc/osl/file.hxx. I read this too : 
"mktemp - generate temporary file name (unique)
mkstemp - also create the file
mkstemps - generate temporary file name with suffix
mkdtemp - create a directory
" and of course "no equivalent of these functions in Windows" for example.

So I thought this :
1) for common part between Windows and other systems (Unix/Linux/BSD and 
Mac) or for Windows specific, only createTempFile should be used.
2) for Unix/Linux/BSD and Mac only part, mkstemp/mktemp should be used 
(to avoid overhead)

So tmpnam shouldn't be used at all.

Is this ok ?


-------- Message original --------
Sujet: 	warning: the use of `tmpnam' is dangerous, better use `mkstemp'
Date : 	Thu, 09 Jun 2011 23:24:16 +0200
De : 	Julien Nabet <serval2412 at yahoo.fr>
Pour : 	libreoffice at lists.freedesktop.org


I had this warning by compiling hwpfilter during some cppcheck cleaning.
I knew nothing about it so I read some links given by Google.
It seems mkstemp is safer since it permits "to avoid race conditions".

In the Unix man of tmpnam, we can read this :
        Never use this function.  Use mkstemp(3) or tmpfile(3) instead.

I'm just a beginner in C++ so what's your opinion about it ?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110611/39a07fb0/attachment.html>

More information about the LibreOffice mailing list