From owner-FreeBSD-users-jp@jp.FreeBSD.org Fri Oct  8 13:44:48 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i984ima19682;
	Fri, 8 Oct 2004 13:44:48 +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 i984im819677
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Fri, 8 Oct 2004 13:44:48 +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 C13AF3BA88E
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Fri,  8 Oct 2004 13:44:47 +0900 (JST)
Message-ID: <86acux95ts.wl@vic.verama.net>
From: Mitsuru Ogino <ogino@verama.net>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <004a01c4accb$5304ab50$7d03a8c0@morimotoPC>
	<20041007190353.CA65.1YEN@sh.rim.or.jp>
References: <20041007190353.CA65.1YEN@sh.rim.or.jp>
	<004a01c4accb$5304ab50$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 13:44:47 +0900
X-Sequence: FreeBSD-users-jp 81254
Subject: [FreeBSD-users-jp 81254] 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 09:09:47 +0900,
Mao Morimoto wrote:

> > $B$3$l$O!"(BSIGSEGV $B$r5/$3$9(B FreeBSD $B$,JQ$J$N$G$7$g$&$+!)$=$l$H$b!"(B
> > NULL $B$J$N$,J,$+$C$F$$$F(B closedir $B$9$k(B vobcopy $B$,JQ$J$N$G$7$g$&$+!)(B
> 
> open$B$K<:GT$7$F!"(BNULL$B$J$N$K(Bclose$B$7$h$&$H$9$k%=!<%9$C$F!"(B
> $B;~!98+$^$9$M!#!#(B
> $BL@$i$+$K%P%0!"$G$9!#(B
> $B$3$N>l9g!"$H$C$A$c$($PLdBj$J$$$H;W$$$^$9!#(B

$B$3$l$O$3$l$GNI$$$H;W$&$N$G$9$,!"(BSIGSEGV $B$r5/$3$9(B FreeBSD $B$,JQ$G$J$$$H(B
$B$O8@$$@Z$l$J$$$H;W$$$^$9!#(B

$BNc$($P!"(B man closedir $B$GI=<($5$l$k!"(B

  Sample code which searches a directory for entry ``name'' is:

  len = strlen(name);
  dirp = opendir(".");
  while ((dp = readdir(dirp)) != NULL)
    if (dp->d_namlen == len && !strcmp(dp->d_name, name)) {
      (void)closedir(dirp);
      return FOUND;
    }
  (void)closedir(dirp);
  return NOT_FOUND;

$B$J$s$F$$$&%3!<%I$b8m$j$K$J$j$^$;$s$+!#(B

# $B%5%s%W%k%3!<%I$G$b(B man 3 $B$d(B man 2 $B$N$b$N$O%(%i!<=hM}$b<($7$FM_$7$$$H(B
# $B$$$&$N$b8D?ME*$J4jK>$+$bCN$l$^$;$s$,!#(B

# $B%+%l%s%H%G%#%l%/%H%j$,(B opendir $B$G$-$J$$$H$$$&$N$O(B setuid $B$5$l$?$b$N(B
# $B$0$i$$$+$bCN$l$^$;$s$,!#(B


$B;EMM$G$"$l$P!"(Bman $B$N%P%0!";EMM$G$J$1$l$P(B libc $B$N%P%0$@$H;W$$$^$9!#$7$+(B
$B$7!"(B

At Thu, 07 Oct 2004 19:34:10 +0900,
NAKAMURA Takeshi wrote:

>  $B%^%K%e%"%k$N(B `$B<:GT$7$?$i(B -1 $B$rJV$9(B' $B$,13$K$J$k$J$!$H$$$&$N$b$"$C$?$j$7$F(B
> $B$A$g$C$H9M$($F$7$^$$$^$7$?!#(B
> ($BJQ$JJ}$K!VD>$7$F$/$l!A!W$H8@$$$?$$$o$1$G$9$,!"$I$A$i$,JQ$J$N$+J,$+$i$J$/$F(B...)

$B$I$A$i$,JQ$J$N$+J,$+$i$J$$!"$H$$$&$N$K$O$+$o$j$J$$$G$9!#8D?ME*0U8+$H$7(B
$B$F$O(B libc $B$N4X?t$O%(%i!<$rJV$9$Y$-$GMn$A$k$Y$-$G$O$J$$$H;W$$$^$9!#(B


$B"("("((B $B65$($F$/$@$5$$(B $B"("("((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

--
$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

