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