=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ftp/ftp.c,v retrieving revision 1.35 retrieving revision 1.35.2.1 diff -c -r1.35 -r1.35.2.1 *** src/usr.bin/ftp/ftp.c 2000/05/03 19:50:41 1.35 --- src/usr.bin/ftp/ftp.c 2000/10/06 21:16:13 1.35.2.1 *************** *** 1,4 **** ! /* $OpenBSD: ftp.c,v 1.35 2000/05/03 19:50:41 deraadt Exp $ */ /* $NetBSD: ftp.c,v 1.27 1997/08/18 10:20:23 lukem Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: ftp.c,v 1.35.2.1 2000/10/06 21:16:13 jason Exp $ */ /* $NetBSD: ftp.c,v 1.27 1997/08/18 10:20:23 lukem Exp $ */ /* *************** *** 67,73 **** #if 0 static char sccsid[] = "@(#)ftp.c 8.6 (Berkeley) 10/27/94"; #else ! static char rcsid[] = "$OpenBSD: ftp.c,v 1.35 2000/05/03 19:50:41 deraadt Exp $"; #endif #endif /* not lint */ --- 67,73 ---- #if 0 static char sccsid[] = "@(#)ftp.c 8.6 (Berkeley) 10/27/94"; #else ! static char rcsid[] = "$OpenBSD: ftp.c,v 1.35.2.1 2000/10/06 21:16:13 jason Exp $"; #endif #endif /* not lint */ *************** *** 163,169 **** error = getaddrinfo(host, pbuf, &hints, &res0); } if (error) { ! warn(gai_strerror(error)); code = -1; return (0); } --- 163,169 ---- error = getaddrinfo(host, pbuf, &hints, &res0); } if (error) { ! warn("%s", gai_strerror(error)); code = -1; return (0); } *************** *** 214,220 **** break; } if (s < 0) { ! warn(cause); code = -1; freeaddrinfo(res0); return 0; --- 214,220 ---- break; } if (s < 0) { ! warn("%s", cause); code = -1; freeaddrinfo(res0); return 0; *************** *** 1264,1269 **** --- 1264,1271 ---- * What we've got at this point is a string of comma separated * one-byte unsigned integer values, separated by commas. */ + if (!pasvcmd) + goto bad; if (strcmp(pasvcmd, "PASV") == 0) { if (data_addr.su_family != AF_INET) { fputs(