From owner-FreeBSD-users-jp@jp.FreeBSD.org Fri Oct  8 16:00:53 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i9870rg62105;
	Fri, 8 Oct 2004 16:00:53 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from vic.verama.net (usr203174223147.usr.starcat.ne.jp [203.174.223.147])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i9870r862100
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Fri, 8 Oct 2004 16:00:53 +0900 (JST)
	(envelope-from ogino@verama.net)
Received: from vic.verama.net (localhost.local.verama.net [IPv6:::1])
	by vic.verama.net (Postfix) with ESMTP id BAEFF3BA81F
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Fri,  8 Oct 2004 16:00:52 +0900 (JST)
Message-ID: <868yah8ziz.wl@vic.verama.net>
From: Mitsuru Ogino <ogino@verama.net>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <000f01c4acf6$29cc3e80$7d03a8c0@morimotoPC>
References: <20041007190353.CA65.1YEN@sh.rim.or.jp>
	<004a01c4accb$5304ab50$7d03a8c0@morimotoPC>
	<86acux95ts.wl@vic.verama.net>
	<000f01c4acf6$29cc3e80$7d03a8c0@morimotoPC>
User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.3 (i386--freebsd) MULE/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Fri, 08 Oct 2004 16:00:52 +0900
X-Sequence: FreeBSD-users-jp 81259
Subject: [FreeBSD-users-jp 81259] Re: closedir( NULL )
 =?ISO-2022-JP?B?GyRCJEchIhsoQg==?= Segmentation
 fault
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: ogino@verama.net
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+041006

$B2.Ln$G$9!#(B

At Fri, 8 Oct 2004 14:17:23 +0900,
Mao Morimoto wrote:

> $B:G=i$N(B opendir(".") $B$,<:GT$7$F(BNULL$B$K$J$k!"$H$$$&$N$O(B
> $B0l@Z9MN8$5$l$F$J$$$N$,LdBj$G$9$,!&!&$=$l0J30$N%1!<%9$G$O!"(B
> closedir$B$K(BNULL$B$,EO$5$l$k$H$$$&$N$O!"$"$j$($J$$$G$9!#(B

$B$3$l$K$OF10U$7$^$9!#!J:G=i$N%a!<%k$NOC$b$=$&$@$H;W$$$^$9$,!K(Bopendir $B$N(B 
man $B$rFI$_D>$9$H(B malloc $B$N<:GT$,860x$G(B opendir $B$,<:GT$9$k$3$H$,$"$k$N(B
$B$G$9$+$i!"$?$H$(%+%l%s%H%G%#%l%/%H%j$G$"$C$F$b%A%'%C%/$9$Y$-$G$9$M!#(B


> > $B$=$b$=$b(B C $B$N;EMM$H$7$FI8=`4X?t!J$H$$$&8@$$J}$O@5$7$$!)!K$,%(%i!<$rJV(B
> > $B$5$:$K(B SIGSEGV $B$H$+$K$J$k$N$O5vMF$5$l$F$$$k$N$G$7$g$&$+!)(B
> 
> $B%Q%i%a!<%?$,@5$7$/$J$$$H(BSEGV$B$K$J$k!"$H$$$&$N$O$I$3$K$bL@8@$5$l$F$J$$$G$9$,!&(B
> $B!&$?$$$F$$$N=hM}7O$G$O!"IaDL$N$3$H$G$9!#(B

$B8=$K$3$&$$$&=hM}7O$,$"$k$o$1$G$9$7!"IaDL$+$I$&$+$O5DO@$7$F$b;EJ}$,$J$$(B
$B$H;W$$$^$9!#;d$,!J(BMorimoto $B$5$s$K!"$G$O$J$$$G$9$,!K$*$?$:$M$7$?$N$O!"(B
ANSI C $B$J$I$N;EMM$G5vMF$5$l$F$$$k$+$I$&$+!"$^$?(B FreeBSD $B$N<BAu$H$7$F(B 
libc $B$r=$@5$9$k$+(B man page $B$KL@5-$9$Y$-$+$N$I$A$i$,K>$^$7$$$@$m$&$+!"(B
$B$H$$$&$3$H$G$9!#$*5$$K>c$C$?$i?=$7Lu$"$j$^$;$s!#(B


> $B$=$l$K!"I8=`$N4X?t$4$H$-$G!"$$$A$$$A%Q%i%a!<%?$N%A%'%C%/$7$F%*!<%P!<(B
> $B%X%C%IA}$d$7$F$[$7$/$J$$$G$9$7$M!#!#(B

$B$3$l$i$OB?J,$K%]%j%7!<E*$J$3$H$G$9$h$M(B... $B$3$&$$$&0U8+$b$"$k$H;W$$$^$9(B
$B$7!"(BStack Smashing Protector $B$GIU$-(B gcc $B$G(B *BSD $B$r9=C[$9$k$H$$$&$N$b$"(B
$B$j$^$9$7!#(B

$B%]%$%s%?$,(B NULL $B$+$I$&$+$rD4$Y$k$N$OBP$7$?%3%9%H$G$O$J$$!"$H$$$&9M$(J}(B
$B$b$"$k$+$H;W$$$^$9!#(Bman 3 free $B$K$h$l$P!"(Bfree $B$G$O(B NULL $B$+$I$&$+%A%'%C(B
$B%/!J5vMF!)!K$7$F$$$k$o$1$G$9!#(B

1. malloc $B$,<:GT$9$l$P(B NULL $B$rJV$7!"(Bfree $B$G$O(B NULL $B$r5vMF$9$k!#(B

2. opendir $B$O(B malloc $B$,<:GT$9$k$+$^$?$O%G%#%l%/%H%j$r3+$1$J$$;~$O(B NULL 
   $B$rJV$7!"(Bclosedir $B$G$O(B NULL $B$r5vMF$7$J$$!J$i$7$$!K!#(B

3. man closedir $B$G$O(B closedir $B$K<:GT$7$?$H$-$K$O(B -1 $B$rJV$7(B errno $B$r%;%C(B
   $B%H$9$k$H$"$k!#(B

$B$H$"$k$H(B opendir $B$NJV$jCM(B(NULL)$B$r0z?t$KF~$l$F$$$k$N$G$"$l$P!"(B close(3) 
$B$K$J$i$C$F(B EBADF $B$0$i$$$rJV$7$F$bNI$$$N$G$O!"$H$b;W$$$^$9!#(B


$BB>$NJ}$N$40U8+$b$*65$($$$?$@$1$l$P$&$l$7$$$G$9!#(B

-- 
$B2.Ln(B $B=<(B ($B$*$.$N(B $B$_$D$k(B) ... $B!VGk(B($B$O$.(B)$B!W$K$"$i$:(B
Key fingerprint = 7F26 5414 1805 F31B 1617  10B7 C117 07AE 1691 9BD1
