04a9bc
--- netkit-ftp-0.17/ftp/ftp.c.data	2005-12-02 15:31:27.000000000 +0100
04a9bc
+++ netkit-ftp-0.17/ftp/ftp.c	2005-12-02 15:35:46.000000000 +0100
04a9bc
@@ -1223,6 +1223,7 @@
04a9bc
 static int
04a9bc
 initconn(void)
04a9bc
 {
04a9bc
+	int rc;
04a9bc
 	u_char *p, *a;
04a9bc
 	int result, tmpno = 0;
04a9bc
 	socklen_t len;
04a9bc
@@ -1240,6 +1241,13 @@
04a9bc
 	}
04a9bc
 #endif
04a9bc
 	if (passivemode) {
04a9bc
+		if (data >= 0){
04a9bc
+			rc = close (data);
04a9bc
+			data = -1;
04a9bc
+			if (rc == -1){
04a9bc
+				perror ("ftp: close");
04a9bc
+			}
04a9bc
+		}
04a9bc
 		data_addr = hisctladdr;
04a9bc
 		data = socket(data_addr.su_family, SOCK_STREAM, 0);
04a9bc
 		if (data < 0) {