*BSD News Article 22948


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!convex!convex!cs.utexas.edu!math.ohio-state.edu!howland.reston.ans.net!agate!asami
From: asami@cs.berkeley.edu (Satoshi ASAMI)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: mktemp() crashes
Date: 27 Oct 93 16:47:35
Organization: CS Div. - EECS, University of California, Berkeley, CA 94720
Lines: 38
Message-ID: <ASAMI.93Oct27164735@forgery.cs.berkeley.edu>
References: <CF7snJ.ID9@dvorak.amd.com> <1993Oct21.093717.2658@zen.void.oz.au>
	<1993Oct21.120854.2900@zen.void.oz.au>
	<JKH.93Oct25234522@whisker.lotus.ie>
	<1993Oct27.125403.15527@zen.void.oz.au>
NNTP-Posting-Host: forgery.cs.berkeley.edu
In-reply-to: sjg@zen.void.oz.au's message of Wed, 27 Oct 1993 05:54:03 PDT

In article <1993Oct27.125403.15527@zen.void.oz.au>
        sjg@zen.void.oz.au (Simon J. Gerraty) writes:

 * >BLETCH!!  That's no fix at all!  Please don't apply it, anyone.
 * >Repeated calls to mktemp() will not DTRT, ...

 * What is The Right Thing to do for repeated calls of mktemp()?  
 * A series of unique filenames is about the only result that makes any
 * sense.

I don't know why you guys stared argue about that.  The issue is not
repeated calls to mktemp().  My mktemp man page says:

     char *mktemp(template)
     char *template;

   Description
     The mktemp subroutine replaces template by a unique file name, and
     returns the address of the template.  The template should look like a

So it is supposed to REPLACE the template, as well as return the
address of the argument to report success.  It's not allowed to copy
the template to a different place and return the modified version of
the new copy.

The proposed "patch" will break legal programs like this, so it's not
acceptable.

        char *s = strdup("/tmp/fooXXXXXX") ;
        if (mktemp(s)[0] == '\0') { error.... }
        printf("%s\n", s) ;

---
                                                   o o   Satoshi Asami
  Form follows Function.                            ^
                                               (asami@CS.Berkeley.EDU)
  Tel: (510)547-0336 (home)       Computer Science Div., Dept. of EECS
       (510)642-1845 (office)     University of California at Berkeley