From owner-FreeBSD-net-jp@jp.freebsd.org  Sun Mar 19 11:32:18 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id LAA72805;
	Sun, 19 Mar 2000 11:32:18 +0900 (JST)
	(envelope-from owner-FreeBSD-net-jp@jp.FreeBSD.org)
Received: from edge.sky.yamashina.kyoto.jp (edge.sky.yamashina.kyoto.jp [210.235.106.86])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id LAA72800
	for <FreeBSD-net-jp@jp.freebsd.org>; Sun, 19 Mar 2000 11:32:17 +0900 (JST)
	(envelope-from taca@sky.yamashina.kyoto.jp)
Received: from localhost
	by edge.sky.yamashina.kyoto.jp (8.9.3/3.7W-1.11) with ESMTP
	id LAA05037
	for <FreeBSD-net-jp@jp.freebsd.org>; Sun, 19 Mar 2000 11:32:16 +0900 (JST)
	(envelope-from taca)
Message-Id: <200003190232.LAA05037@edge.sky.yamashina.kyoto.jp>
To: FreeBSD-net-jp@jp.freebsd.org
In-Reply-To: <20000319.03171032kattyo@abk.nu>
References: <20000318.23191833kattyo@abk.nu>
	<20000319.03171032kattyo@abk.nu>
X-Mailer: Mew version 1.94.2pre11 on Emacs 20.5 / Mule 4.0 (HANANOEN)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Sun, 19 Mar 2000 11:32:16 +0900
From: Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
X-Dispatcher: imput version 20000221(IM139)
Reply-To: FreeBSD-net-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-net-jp 2364
Subject: [FreeBSD-net-jp 2364] Re: FTP data retrieve failure in passive
 mode
Errors-To: owner-FreeBSD-net-jp@jp.freebsd.org
Sender: owner-FreeBSD-net-jp@jp.freebsd.org
X-Originator: taca@sky.yamashina.kyoto.jp

In message <20000319.03171032kattyo@abk.nu>
	on Sun, 19 Mar 2000 03:17:10 +0900,
	Kattyo <kattyo@abk.nu> wrote:
> >$B$$$?$H$-$K5$IU$-$^$7$?!#$3$l$O!"(Banonymous ftp server $B$J$I$G6u$N(B
> >$B%G%#%l%/%H%j$,$"$k>l9g$KLdBj$K$J$k$h$&$J5$$,$9$k$N$G$9$,!"(B
> 
> $B6u$N%G%#%l%/%H%j$J$s$+L5$/$F$b!"(B
> $BB8:_$7$J$$%U%!%$%kL>$r(B RETR $B$9$l$P=<J,$G$9$M!#(B
NetBSD current$B$G$O(BRETR$B$9$k>l9g$G$OLdBj$O!"(Blisten(2)$B$7$?$^$^$N%=%1%C%H(B
$B$O;D$j$^$7$?$,!"A}$($k$3$H$O$J$$$h$&$G$9!#$G$b!";D$k$N$ONI$/$J$$$G$9$M!#(B

Index: ftpd.c
===================================================================
RCS file: /usr/local/libdata/cvs/netbsd/libexec/ftpd/ftpd.c,v
retrieving revision 1.1.1.16
diff -u -r1.1.1.16 ftpd.c
--- ftpd.c	2000/03/05 16:17:02	1.1.1.16
+++ ftpd.c	2000/03/19 02:28:03
@@ -1087,7 +1087,6 @@
 	timersub(&finish, &start, &td);
 	tdp = &td;
 	data = -1;
-	pdata = -1;
 done:
 	if (log)
 		logcmd("get", byte_count, name, NULL, tdp, NULL);
@@ -1124,6 +1123,10 @@
 		reply(226, "Transfer complete.");
 	}
  cleanupretrieve:
+	if (pdata >= 0) {
+		(void) close(pdata);
+	}
+	pdata = -1;
 	if (stderrfd != -1)
 		(void)close(stderrfd);
 	if (isconversion)
@@ -1202,8 +1205,11 @@
 	timersub(&finish, &start, &td);
 	tdp = &td;
 	data = -1;
-	pdata = -1;
 done:
+	if (pdata >= 0) {
+		(void) close(pdata);
+	}
+	pdata = -1;
 	logcmd(desc, byte_count, name, NULL, tdp, NULL);
 	(*closefunc)(fout);
 }
@@ -2588,6 +2594,10 @@
 	transflag = 0;
 	if (dout != NULL)
 		(void) fclose(dout);
+	else {
+		if (pdata >= 0)
+			(void) close(pdata);
+	}
 	data = -1;
 	pdata = -1;
 out:

--
$B?@8M(B $BN4Gn(B($B$+$s$Y(B $B$?$+$R$m(B) at home
