From owner-FreeBSD-users-jp@jp.freebsd.org  Mon Sep 18 02:22:06 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id CAA95102;
	Mon, 18 Sep 2000 02:22:06 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from pixy.netlab.is.tsukuba.ac.jp (qmailr@netlab-83.netlab.is.tsukuba.ac.jp [130.158.83.243])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with SMTP id CAA95097
	for <FreeBSD-users-jp@jp.freebsd.org>; Mon, 18 Sep 2000 02:22:06 +0900 (JST)
	(envelope-from ush@netlab.is.tsukuba.ac.jp)
Received: (qmail 97572 invoked from network); 17 Sep 2000 17:22:05 -0000
Received: from unicorn.netlab.is.tsukuba.ac.jp (HELO localhost) (130.158.85.5)
  by pixy.netlab.is.tsukuba.ac.jp with SMTP; 17 Sep 2000 17:22:05 -0000
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <20000917125128.871.qmail@amdk6.honkan3.tmca.ac.jp>
References: <20000917125128.871.qmail@amdk6.honkan3.tmca.ac.jp>
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20000918022205V.ush@netlab.is.tsukuba.ac.jp>
Date: Mon, 18 Sep 2000 02:22:05 +0900
From: Ushine Hiroyuki <ush@netlab.is.tsukuba.ac.jp>
X-Dispatcher: imput version 20000228(IM140)
Lines: 54
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 55307
Subject: [FreeBSD-users-jp 55307] Re: f77 and tempnam
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: ush@netlab.is.tsukuba.ac.jp

$B5m:,$G$9!%(B

users-jp $B$G$b2a5n2?EY$+(B tempnam $B$r4^$a$F4m81@-$N$"$k4X?t$N(B
warning$B$K$D$$$FOCBj$K$J$C$F$$$^$9$N$G!$0JA0$N5-;v$rFI$`;v$r(B
$B4+$a$^$9!%(B

freebsd> /usr/lib/libg2c.so: warning: tempnam() possibly used unsafely;
freebsd> consider using mkstemp()
tempnam$B4X?t$O0l;~%U%!%$%kL>$rJV$7$^$9$,!$$=$N=V4V$GMxMQ(B
$B$G$-$kL>A0$G$7$+$J$/!$(Btempnam(0, buf) $B$,5/$-$F$+$i<B:]$N(B
fopen$B$N<B9T$^$G$K;~4V:9$,$"$j$^$9$+$i!$M-8z@-$NJ]>Z$O(B
$B$J$/$J$j$^$9!%(B
#$B$=$&$=$&4JC1$K$O=EJ#$7$?$j$O$7$^$;$s$N$G!$<BMQ>e$O$5$[$I(B
#$BLdBj$O$G$^$;$s$1$I!%(B

$B$=$l$KBP$7$F(B mkstemp $B$G$O%U%!%$%k%G%#%9%/%j%W%?$rJV$7$^$9$N$G(B
$B$3$&$$$&LdBj$O$J$/$J$j$^$9!%(B

$B$5$F!$(Bopen.c $B$G$O(B

case 's':
case 'S':
  s = tempname(0, buf);
  if (strlen(s) >= sizeof(buf))
    err (a->oerr, 132, "open");
  (void) strcpy(buf, s);
  free (s);
goto replace;
case 'n':
case 'N':
 ....
 /* no break */
case 'r':
case 'R':
replace:
  if (tf = fopen(buf,f__w_mode[0]))
    fclose(tf);	
$B$H$J$C$F$$$^$9!%(B
mkstemp$B$O%U%!%$%k$r@8@.$7$F$7$^$&$?$a!$$3$N%3!<%I$r$_$k8B$j(B
$BC1=c$KCV$-49$($G$-$:!$<~0O$r4^$a$FJQ99$7$J$1$l$P$J$j$^$;$s!%(B

FreeBSD $B%m!<%+%k$JJQ99$r2C$($F(B sendpr $B$9$l$P$h$$$3$H$J$s(B
$B$G$9$,!$(BGNU g77$B$+$i(B Virgin import $B$9$k$?$S$K:F8=$9$k$N$G!$(B
$BJ|CV$5$l$F$$$k$N$+$b$7$l$^$;$s!%(B

$B6qBNE*$K4m81$@$H$$$&>Z5r$,$J$$>u67$G!$$_$C$H$b$J$$$H$$$&M}M3(B
$B$@$1$G$OJQ99$9$k$N$OFq$7$$$3$H$G$7$g$&!%(B

$B$I$&$7$F$b%a%C%;!<%8$r>C$7$?$$$N$G$"$l$P(B 
/usr/src/lib/libc/stdio/tempnam.c $B$N(B
__warn_references(tempnam, ...) $B$r%3%a%s%H%"%&%H$7$F(B
libc $B$r:n$jD>$9$N$b<j$G$9!%(B


