From owner-FreeBSD-users-jp@jp.FreeBSD.org Thu Oct  7 19:34:56 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i97AYu861572;
	Thu, 7 Oct 2004 19:34:56 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from ns.crs.co.jp (ns.crs.co.jp [202.214.152.13])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i97AYu861567
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 7 Oct 2004 19:34:56 +0900 (JST)
	(envelope-from 1yen@sh.rim.or.jp)
Received: from inns.ycc.crs.co.jp ([192.168.30.202])
	by ns.crs.co.jp (8.11.3/8.11.3) with ESMTP id i97AXqs00406;
	Thu, 7 Oct 2004 19:33:52 +0900
Received: from [192.168.31.176] (localhost [127.0.0.1])
	by inns.ycc.crs.co.jp (8.11.3/8.11.3) with ESMTP id i97AY3i21976;
	Thu, 7 Oct 2004 19:34:11 +0900
From: NAKAMURA Takeshi <1yen@sh.rim.or.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
X-Mailer-Plugin: AntiSpam for Becky!2 Ver.2.009
Message-Id: <20041007190353.CA65.1YEN@sh.rim.or.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.11.02 [ja]
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 07 Oct 2004 19:34:10 +0900
X-Sequence: FreeBSD-users-jp 81247
Subject: [FreeBSD-users-jp 81247] closedir( NULL )
 =?ISO-2022-JP?B?GyRCJEchIhsoQg==?= Segmentation fault
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: 1yen@sh.rim.or.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+041006

$BCgB<$G$9!#(B

 ports $B$N(B sysutils/vobcopy $B$r?'!9$$$8$C$F$$$?$i!"(BSegmentation fault $B$G(B
$BMn$A$F$7$^$$$^$7$?!#(B

 $B$GD4$Y$F$_$k$H!"(Bdir = opendir() $B$7$F(B NULL $B$,5"$C$F$-$?;~$K(B
$B%(%i!<%a%C%;!<%8$rI=<($7$?8e(B closedir(dir) $B$r9T$C$F$$$k$N$G$9$,!"(B
dir == NULL $B$J$N$G(B libc $B$NCf$G(B Segmentation fault $B$r5/$3$7$F$$$k$h$&$G$9!#(B

 $B$3$l$O!"(BSIGSEGV $B$r5/$3$9(B FreeBSD $B$,JQ$J$N$G$7$g$&$+!)$=$l$H$b!"(BNULL $B$J$N$,(B
$BJ,$+$C$F$$$F(B closedir $B$9$k(B vobcopy $B$,JQ$J$N$G$7$g$&$+!)(B

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

% gdb /exports/home/SRC/usr/ports/sysutils/vobcopy/work/vobcopy-0.5.13/vobcopy
...
(gdb) run -F 64 -t "LAWN_DOGS" -m -i /dev/cdrom -o "/notneed/RIP/DVD/LAWN DOGS/"
...
Program received signal SIGSEGV, Segmentation fault.
0x280f4e62 in closedir () from /usr/lib/libc.so.4
(gdb) bt
#0  0x280f4e62 in closedir () from /usr/lib/libc.so.4
#1  0x804ad29 in main (argc=10, argv=0xbfbff5c8) at vobcopy.c:829
(gdb) up
#1  0x804ad29 in main (argc=10, argv=0xbfbff5c8) at vobcopy.c:829
829                       closedir( dir );
(gdb) list 829
824                   if ( dir == NULL )
825                     {
826                       fprintf( stderr, "[Error] Hmm, weird, the dir video_ts|VIDEO_TS on the dvd couldn't be opened\n");
827                       fprintf( stderr, "[Error] The dir to be opened was: %s\n", video_ts_dir );
828                       fprintf( stderr, "[Hint] Please mail me what your vobcopy call plus -v -v spits out\n");
829                       closedir( dir );
830                       exit( 1 );
831                     }
832                 }
833
(gdb) print dir
$1 = (struct _dirdesc *) 0x0

 $B$I$&$;(B exit $B$9$k$@$1$@$7!"(Bclosedir $B$r>C$9$@$1$GNI$$$N$+$J!)$H$b;W$$$^$9$,(B...

FreeBSD 4.10-STABLE i386
#  $B$A$J$_$K!"$A$c$s$HF0$+$9$K$O(B /cdrom $B$K(B dvd $B$r%^%&%s%H(B(or $B%j%s%/(B)$B$7$F(B
# `-i /cdrom' $B$HJQ$($l$PNI$+$C$?$h$&$G$9!#(B
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 $B4X@>2-Fl@DG/$N=8$$(B $B$,$8$^$k$N2q(B $B<jEA$$(B $B0l?M$@$1$N>!<j$K?@F`@n;YIt(B
 $BCgB<(B $BIp(B <1yen@sh.rim.or.jp>

