2011.01.10 16:18 "[Tiff] Missing mkstemp() on Visual Studio 2008", by Jeff McKenna

2011.01.10 20:54 "Re: [Tiff] Missing mkstemp() on Visual Studio 2008", by Bob Friesenhahn

Then I move that the patch be reverted. Why was it even necessary to use mkstemp() when we don't care about the file name? Not to mention that the new code uses a fixed length buffer that could in theory cause a buffer overflow.

While I have not looked at the code, the main problem with tmpfile() is that it is not a secure function. A secure file generator should exclusively open the file in order to avoid race conditions. The tmpfile() interface allows some other file to be inserted between the time the name is allocated and the file is opened. This can be used to cause very bad things to happen. There are also issues with how easy it is to guess the next file name which will be used.

For GraphicsMagick, I ultimately ended up writing my own temporary file interface. This ended up not being as easy as it seemed, and was not perfect the first time out.

Bob
--
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/